0001437749-24-009626.txt : 20240327 0001437749-24-009626.hdr.sgml : 20240327 20240327170315 ACCESSION NUMBER: 0001437749-24-009626 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 113 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240327 DATE AS OF CHANGE: 20240327 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 IRS NUMBER: 222370659 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-36117 FILM NUMBER: 24791715 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-K 1 intt20231231_10k.htm FORM 10-K intt20231231_10k.htm
0001036262 INTEST CORP false --12-31 FY 2023 December 8, 2023 Richard N. Grant Chief Executive Officer true false false false December 31, 2026 775,000 474 496 0.01 0.01 5,000,000 5,000,000 0 0 0 0 0.01 0.01 20,000,000 20,000,000 12,241,925 11,063,271 75,758 34,308 3 1 10 1 90 30 41 455 136 51 42 942 127 March 29, 2010 April 30, 2024 April 30, 2031 October 27, 2010 December 31, 2024 December 31, 2024 5 2 0 21 0 10 4 167,886 171,735 4 1 4 767 747 3 Bad debt recoveries in the table above do not include $470 that relate to receivables acquired in 2021 that were valued at $0 at the time of acquisition but were subsequently recovered. 00010362622023-01-012023-12-31 iso4217:USD 00010362622023-06-30 xbrli:shares 00010362622024-03-01 thunderdome:item 00010362622023-12-082023-12-31 00010362622023-12-31 00010362622022-12-31 iso4217:USDxbrli:shares 00010362622022-01-012022-12-31 0001036262us-gaap:CommonStockMember2021-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2021-12-31 0001036262us-gaap:RetainedEarningsMember2021-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-31 0001036262us-gaap:TreasuryStockCommonMember2021-12-31 00010362622021-12-31 0001036262us-gaap:CommonStockMember2022-01-012022-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-31 0001036262us-gaap:RetainedEarningsMember2022-01-012022-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-12-31 0001036262us-gaap:TreasuryStockCommonMember2022-01-012022-12-31 0001036262us-gaap:CommonStockMember2022-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2022-12-31 0001036262us-gaap:RetainedEarningsMember2022-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-31 0001036262us-gaap:TreasuryStockCommonMember2022-12-31 0001036262us-gaap:CommonStockMember2023-01-012023-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2023-01-012023-12-31 0001036262us-gaap:RetainedEarningsMember2023-01-012023-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-12-31 0001036262us-gaap:TreasuryStockCommonMember2023-01-012023-12-31 0001036262us-gaap:CommonStockMember2023-12-31 0001036262us-gaap:AdditionalPaidInCapitalMember2023-12-31 0001036262us-gaap:RetainedEarningsMember2023-12-31 0001036262us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-31 0001036262us-gaap:TreasuryStockCommonMember2023-12-31 0001036262intt:TermNoteMember2023-01-012023-12-31 0001036262intt:TermNoteMember2022-01-012022-12-31 xbrli:pure utr:sqft 0001036262intt:FacilityInPenangMalaysiaMember2023-12-31 0001036262intt:AttheMarketIssuanceSalesAgreementMember2023-05-112023-05-11 iso4217:EUR 0001036262intt:BankGuaranteeOnCustomerOrderDepositMember2022-12-31 utr:Y 0001036262srt:MinimumMember2023-12-31 0001036262srt:MaximumMember2023-12-31 0001036262intt:CityOfRochesterAndStateOfNewYorkMember2018-05-31 0001036262intt:CityOfRochesterAndStateOfNewYorkMember2023-12-31 0001036262us-gaap:OtherCurrentLiabilitiesMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-31 0001036262us-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMemberus-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-12-31 0001036262intt:AcculogicMember2023-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel3Member2023-12-31 0001036262us-gaap:InterestRateSwapMember2023-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2023-12-31 0001036262intt:AcculogicMember2022-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001036262intt:AcculogicMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001036262us-gaap:InterestRateSwapMember2022-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel1Member2022-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Member2022-12-31 0001036262us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Member2022-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2021-12-31 0001036262intt:ZSciencesMemberintt:ContingentConsiderationLiabilitiesMember2022-01-012022-12-31 0001036262intt:AcculogicMemberintt:ContingentConsiderationLiabilitiesMember2022-01-012022-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2022-01-012022-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2022-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2023-01-012023-12-31 0001036262intt:ContingentConsiderationLiabilitiesMember2023-12-31 0001036262intt:ElectronicTestMember2023-12-31 0001036262intt:ElectronicTestMember2022-12-31 0001036262intt:EnvironmentalTechnologiesMember2023-12-31 0001036262intt:EnvironmentalTechnologiesMember2022-12-31 0001036262intt:ProcessTechnologiesMember2023-12-31 0001036262intt:ProcessTechnologiesMember2022-12-31 0001036262us-gaap:CustomerRelationshipsMember2023-12-31 0001036262us-gaap:PatentedTechnologyMember2023-12-31 0001036262us-gaap:PatentsMember2023-12-31 0001036262intt:CustomerBacklogMember2023-12-31 0001036262us-gaap:ComputerSoftwareIntangibleAssetMember2023-12-31 0001036262us-gaap:TradeNamesMember2023-12-31 0001036262us-gaap:TrademarksMember2023-12-31 0001036262us-gaap:CustomerRelationshipsMember2022-12-31 0001036262us-gaap:PatentedTechnologyMember2022-12-31 0001036262us-gaap:PatentsMember2022-12-31 0001036262intt:CustomerBacklogMember2022-12-31 0001036262us-gaap:ComputerSoftwareIntangibleAssetMember2022-12-31 0001036262us-gaap:TradeNamesMember2022-12-31 0001036262us-gaap:TrademarksMember2022-12-31 0001036262srt:MinimumMember2023-01-012023-12-31 0001036262srt:MaximumMember2023-01-012023-12-31 0001036262srt:MinimumMember2022-01-012022-12-31 0001036262srt:MaximumMember2022-01-012022-12-31 0001036262intt:EndUserMember2023-01-012023-12-31 0001036262intt:EndUserMember2022-01-012022-12-31 0001036262intt:OemIntegratorsAndDistributorMember2023-01-012023-12-31 0001036262intt:OemIntegratorsAndDistributorMember2022-01-012022-12-31 0001036262intt:ThermalTestingProductsMember2023-01-012023-12-31 0001036262intt:ThermalTestingProductsMember2022-01-012022-12-31 0001036262intt:ThermalProcessMember2023-01-012023-12-31 0001036262intt:ThermalProcessMember2022-01-012022-12-31 0001036262intt:SemiconductorProductionTestProductsMember2023-01-012023-12-31 0001036262intt:SemiconductorProductionTestProductsMember2022-01-012022-12-31 0001036262intt:VideoImagingMember2023-01-012023-12-31 0001036262intt:VideoImagingMember2022-01-012022-12-31 0001036262intt:FlyingProbeAndIncircuitTestersMember2023-01-012023-12-31 0001036262intt:FlyingProbeAndIncircuitTestersMember2022-01-012022-12-31 0001036262intt:ServiceAndOtherProductsMember2023-01-012023-12-31 0001036262intt:ServiceAndOtherProductsMember2022-01-012022-12-31 0001036262intt:SemiconductorMarketMember2023-01-012023-12-31 0001036262intt:SemiconductorMarketMember2022-01-012022-12-31 0001036262intt:IndustrialMarketMember2023-01-012023-12-31 0001036262intt:IndustrialMarketMember2022-01-012022-12-31 0001036262intt:AutomotiveMember2023-01-012023-12-31 0001036262intt:AutomotiveMember2022-01-012022-12-31 0001036262intt:LifeSciencesMember2023-01-012023-12-31 0001036262intt:LifeSciencesMember2022-01-012022-12-31 0001036262intt:DefenseAerospaceMember2023-01-012023-12-31 0001036262intt:DefenseAerospaceMember2022-01-012022-12-31 0001036262intt:SecurityMember2023-01-012023-12-31 0001036262intt:SecurityMember2022-01-012022-12-31 0001036262intt:OtherMultiMarketsMember2023-01-012023-12-31 0001036262intt:OtherMultiMarketsMember2022-01-012022-12-31 0001036262us-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMemberintt:TexasInstrumentsIncorporatedMember2023-01-012023-12-31 0001036262intt:EnvironmentalTechnologiesInGermanyMember2023-12-31 0001036262intt:AutomobileLeaseOneMember2023-12-31 0001036262intt:AutomobileLeaseTwoMember2023-12-31 0001036262intt:SoutheastAsiaOperationMember2023-12-31 0001036262intt:ProcessTechnologiesInTheNetherlandsMember2023-12-31 utr:M 0001036262intt:EnvironmentalTechnologiesInGermanyMember2023-03-31 0001036262intt:ProcessTechnologiesInEuropeMemberintt:AutomobileLeaseOneMember2023-03-31 0001036262intt:ProcessTechnologiesInEuropeMemberintt:AutomobileLeasesMember2023-03-31 0001036262intt:ProcessTechnologiesInEuropeMemberintt:AutomobileLeaseTwoMember2023-06-30 0001036262intt:ProcessTechnologiesInEuropeMemberintt:AutomobileLeasesMember2023-06-30 0001036262intt:LeaseFacilityInSingaporeMember2022-12-31 0001036262intt:AutomobileLeaseForVideologyMember2022-12-31 0001036262intt:FacilityForAcculogicOperationInCanadaMember2022-12-31 0001036262intt:FacilityForAcculogicOperationInCaliforniaMember2022-12-31 0001036262intt:LeaseFacilityInSingaporeMember2022-03-31 0001036262intt:AutomobileLeaseForVideologyMember2022-09-30 0001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2023-01-012023-12-31 0001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2023-12-31 0001036262us-gaap:LetterOfCreditMemberintt:MtLaurelMember2022-12-31 0001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2023-01-012023-12-31 0001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2023-12-31 0001036262us-gaap:LetterOfCreditMemberintt:MansfieldMember2022-12-31 0001036262us-gaap:LetterOfCreditMember2023-12-31 0001036262us-gaap:LetterOfCreditMember2022-12-31 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-15 0001036262us-gaap:RevolvingCreditFacilityMemberintt:October2021AgreementMemberintt:MTBankMember2021-10-15 0001036262intt:October2021AgreementMemberintt:MTBankMember2021-10-152021-10-15 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-152021-10-15 0001036262intt:AmendedLoanAgreementMemberintt:MTBankMemberintt:TermNoteMember2022-09-20 0001036262intt:AmendedLoanAgreementMemberintt:MTBankMemberintt:TermNoteMember2023-12-31 0001036262intt:AmendedLoanAgreementMemberintt:MTBankMember2023-12-31 0001036262intt:October2021AgreementMemberintt:MTBankMember2021-10-15 00010362622022-09-20 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-282021-10-28 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-10-28 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2021-12-292021-12-29 0001036262intt:October2021AgreementMemberintt:MTBankMemberintt:TermNoteMember2023-12-31 0001036262intt:The2023StockIncentivePlanMember2023-06-21 0001036262intt:StockPlan2014Member2023-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:CostOfSalesMember2023-01-012023-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:CostOfSalesMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:SellingAndMarketingExpenseMember2023-01-012023-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:SellingAndMarketingExpenseMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-12-31 0001036262us-gaap:RestrictedStockMemberus-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMember2023-01-012023-12-31 0001036262us-gaap:RestrictedStockMember2022-01-012022-12-31 0001036262us-gaap:EmployeeStockOptionMember2022-01-012022-12-31 0001036262us-gaap:EmployeeStockOptionMember2023-01-012023-12-31 0001036262us-gaap:RestrictedStockMemberintt:EmployeesMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMemberintt:IndependentDirectorsMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMemberintt:IndependentDirectorsMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2022-01-012022-12-31 0001036262us-gaap:RestrictedStockMemberintt:RestrictedStockVestingInThreeYearsMemberintt:VestingBasedOnPerformanceMetricsMember2020-08-012020-08-31 0001036262us-gaap:RestrictedStockMember2021-12-31 0001036262us-gaap:RestrictedStockMember2022-12-31 0001036262us-gaap:RestrictedStockMember2023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformancebasedRestrictedStockVestingInThreeYearsMembersrt:PresidentMember2020-08-242020-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformancebasedRestrictedStockVestingInThreeYearsMembersrt:MinimumMembersrt:PresidentMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2020-08-242020-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformancebasedRestrictedStockVestingInThreeYearsMembersrt:MaximumMembersrt:PresidentMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2020-08-242020-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformancebasedRestrictedStockVestingInThreeYearsMembersrt:ChiefFinancialOfficerMember2021-06-142021-06-14 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformancebasedRestrictedStockVestingInThreeYearsMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2022-12-312022-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformancebasedRestrictedStockVestingInThreeYearsMemberintt:VestingBasedOnPerformanceMetricsMember2023-08-242023-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2023-08-242023-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMemberintt:VestingBasedOnPerformanceMetricsMember2023-03-082023-03-08 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMemberintt:VestingBasedOnPerformanceMetricsMember2023-08-242023-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMember2021-03-102021-03-10 0001036262intt:PerformancebasedRestrictedStockMembersrt:MinimumMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-03-102021-03-10 0001036262intt:PerformancebasedRestrictedStockMembersrt:MaximumMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2021-03-102021-03-10 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-10-012023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2022-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2022-01-012022-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMember2022-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:RestrictedStockVestingOnAugust242023Membersrt:ChiefFinancialOfficerMember2021-06-142021-06-14 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2022-03-092022-03-09 0001036262intt:PerformancebasedRestrictedStockMembersrt:MinimumMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2022-03-092022-03-09 0001036262intt:PerformancebasedRestrictedStockMembersrt:MaximumMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2022-03-092022-03-09 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-10-012023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:MembersOfTheSeniorManagementMember2021-10-012021-10-01 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformanceBasedRestrictedStockVestingOnJanuary12025Membersrt:MinimumMemberintt:MembersOfTheSeniorManagementMemberintt:VestingBasedOnPerformanceMetricsMember2021-10-012021-10-01 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformanceBasedRestrictedStockVestingOnJanuary12025Membersrt:MaximumMemberintt:MembersOfTheSeniorManagementMemberintt:VestingBasedOnPerformanceMetricsMember2021-10-012021-10-01 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformanceBasedRestrictedStockVestingOnJanuary12025Memberintt:MembersOfTheSeniorManagementMemberintt:VestingBasedOnPerformanceMetricsMember2021-01-012021-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member2023-08-242023-08-24 0001036262intt:PerformancebasedRestrictedStockMemberintt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member2023-01-012023-12-31 0001036262intt:PerformancebasedRestrictedStockMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2023-03-082023-03-08 0001036262intt:PerformancebasedRestrictedStockMembersrt:MinimumMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2022-03-082022-03-08 0001036262intt:PerformancebasedRestrictedStockMembersrt:MaximumMemberintt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember2022-03-082022-03-08 0001036262intt:PerformancebasedRestrictedStockMemberintt:PresidentOfEnvironmentalTechnologiesMember2023-05-082023-05-08 0001036262intt:PerformancebasedRestrictedStockMembersrt:MinimumMemberintt:PresidentOfEnvironmentalTechnologiesMember2023-05-082023-05-08 0001036262intt:PerformancebasedRestrictedStockMembersrt:MaximumMemberintt:PresidentOfEnvironmentalTechnologiesMember2023-05-082023-05-08 0001036262intt:PerformancebasedRestrictedStockMemberintt:PresidentOfEnvironmentalTechnologiesMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-12-31 00010362622023-11-20 00010362622023-12-312023-12-31 0001036262intt:EmployeeStockPurchasePlanMember2021-06-23 0001036262intt:EmployeeStockPurchasePlanMember2023-01-012023-12-31 00010362622023-03-31 00010362622023-09-30 0001036262intt:EmployeeStockPurchasePlanMember2023-03-31 0001036262intt:EmployeeStockPurchasePlanMember2023-06-30 0001036262intt:EmployeeStockPurchasePlanMember2023-09-30 0001036262intt:EmployeeStockPurchasePlanMember2023-12-31 0001036262intt:EmployeeStockPurchasePlanMember2022-01-012022-12-31 00010362622022-03-31 00010362622022-06-30 00010362622022-09-30 0001036262intt:EmployeeStockPurchasePlanMember2022-03-31 0001036262intt:EmployeeStockPurchasePlanMember2022-06-30 0001036262intt:EmployeeStockPurchasePlanMember2022-09-30 0001036262intt:EmployeeStockPurchasePlanMember2022-12-31 0001036262intt:The401KPlanMember2022-01-012022-12-31 0001036262intt:TheAmbrellPlanMember2022-01-012022-12-31 0001036262intt:The401KPlanMember2023-01-012023-12-31 0001036262intt:TheAmbrellPlanMember2023-12-312023-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2023-01-012023-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:ElectronicTestMember2022-01-012022-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2023-01-012023-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:EnvironmentalTechnologiesMember2022-01-012022-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2023-01-012023-12-31 0001036262us-gaap:OperatingSegmentsMemberintt:ProcessTechnologiesMember2022-01-012022-12-31 0001036262us-gaap:OperatingSegmentsMember2023-01-012023-12-31 0001036262us-gaap:OperatingSegmentsMember2022-01-012022-12-31 0001036262us-gaap:CorporateNonSegmentMember2023-01-012023-12-31 0001036262us-gaap:CorporateNonSegmentMember2022-01-012022-12-31 0001036262us-gaap:CorporateMember2023-12-31 0001036262us-gaap:CorporateMember2022-12-31 0001036262intt:ElectronicTestMember2023-01-012023-12-31 0001036262intt:ElectronicTestMember2022-01-012022-12-31 0001036262intt:EnvironmentalTechnologiesMember2023-01-012023-12-31 0001036262intt:EnvironmentalTechnologiesMember2022-01-012022-12-31 0001036262intt:ProcessTechnologiesMember2023-01-012023-12-31 0001036262intt:ProcessTechnologiesMember2022-01-012022-12-31 0001036262us-gaap:CorporateMember2023-01-012023-12-31 0001036262us-gaap:CorporateMember2022-01-012022-12-31 0001036262country:US2023-01-012023-12-31 0001036262country:US2022-01-012022-12-31 0001036262us-gaap:NonUsMember2023-01-012023-12-31 0001036262us-gaap:NonUsMember2022-01-012022-12-31 0001036262country:US2023-12-31 0001036262country:US2022-12-31 0001036262us-gaap:NonUsMember2023-12-31 0001036262us-gaap:NonUsMember2022-12-31 00010362622023-01-012023-03-31 00010362622023-04-012023-06-30 00010362622023-07-012023-09-30 00010362622023-10-012023-12-31 00010362622022-01-012022-03-31 00010362622022-04-012022-06-30 00010362622022-07-012022-09-30 00010362622022-10-012022-12-31 0001036262intt:AlfamationMemberus-gaap:SubsequentEventMember2024-03-122024-03-12 0001036262intt:AlfamationMemberintt:WarehouseAndOfficeSpaceMemberus-gaap:SubsequentEventMember2024-03-12 0001036262intt:AlfamationMemberus-gaap:SubsequentEventMember2024-03-12 0001036262us-gaap:AllowanceForCreditLossMember2022-12-31 0001036262us-gaap:AllowanceForCreditLossMember2023-01-012023-12-31 0001036262us-gaap:AllowanceForCreditLossMember2023-12-31 0001036262us-gaap:WarrantyReservesMember2022-12-31 0001036262us-gaap:WarrantyReservesMember2023-01-012023-12-31 0001036262us-gaap:WarrantyReservesMember2023-12-31 0001036262us-gaap:AllowanceForCreditLossMember2021-12-31 0001036262us-gaap:AllowanceForCreditLossMember2022-01-012022-12-31 0001036262us-gaap:WarrantyReservesMember2021-12-31 0001036262us-gaap:WarrantyReservesMember2022-01-012022-12-31 0001036262intt:AcquiredAccountsReceivableSubsequentlyRecoveredMemberus-gaap:AllowanceForCreditLossMember2023-01-012023-12-31 0001036262intt:AcquiredAccountsReceivableSubsequentlyRecoveredMemberus-gaap:AllowanceForCreditLossMember2022-01-012022-12-31 0001036262intt:AcquiredAccountsReceivableSubsequentlyRecoveredMember2021-12-31 0001036262intt:AssetMember2023-01-012023-12-31
 

 

UNITED STATES SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549

 

FORM 10-K

(Mark One)

ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the fiscal year ended December 31, 2023
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 1-36117

 

inTEST Corporation
(Exact name of registrant as specified in its charter)

 

Delaware
(State or Other Jurisdiction of Incorporation or Organization)

22-2370659
(I.R.S. Employer Identification Number)

  

804 East Gate Drive, Suite 200
Mt. Laurel, New Jersey
(Address of Principal Executive Offices)

08054
(Zip Code)

 

Registrant's telephone number, including area code: (856) 505-8800

 

Securities registered pursuant to Section 12(b) of the Act:

 

            Title of Each Class             
Common Stock, par value $0.01 per share

Trading Symbol
INTT

Name of Each Exchange on Which Registered
NYSE American

 

Securities registered pursuant to Section 12(g) of the Act: None

 

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes ☐ No

 

Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes ☐ No

 

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 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 definitions of "large accelerated filer," "accelerated filer," "smaller reporting company," and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 

Large accelerated filer ☐

Accelerated 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 account standards provided pursuant to Section 13(a) of the Exchange Act. ☐

 

Indicate by check mark whether the registrant has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.

 

 

 

 

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.

 

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to § 240.10D-1(b). ☐

 

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act). Yes No ☒

 

The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold on June 30, 2023 (the last business day of the registrant's most recently completed second fiscal quarter), was: $304,734,005.

 

The number of shares outstanding of the registrant's Common Stock, at March 1, 2024, was 12,164,698.

 

DOCUMENTS INCORPORATED BY REFERENCE

 

Portions of the definitive proxy statement of the Registrant for the Registrant's 2023 Annual Meeting of Stockholders, to be filed with the Securities and Exchange Commission within 120 days after the end of the fiscal year covered by this Report, are incorporated by reference into Part III of this Report.

 

 

 

    

 

inTEST CORPORATION
FORM 10-K
FOR THE YEAR ENDED DECEMBER 31, 2023

INDEX

 

 

 

Page

PART I

     

Item 1.

Business

4

Item 1A.

Risk Factors

14

Item 1B.

Unresolved Staff Comments

22

Item 1C.

Cybersecurity

23

Item 2.

Properties

23

Item 3.

Legal Proceedings

24

Item 4.

Mine Safety Disclosures

24
   

PART II

     

Item 5.

Market for Registrant's Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

24

Item 6.

[Reserved]

24

Item 7.

Management's Discussion and Analysis of Financial Condition and Results of Operations

24

Item 7A.

Quantitative and Qualitative Disclosures About Market Risk

32

Item 8.

Financial Statements and Supplementary Data

32

Item 9.

Changes in and Disagreements with Accountants on Accounting and Financial Disclosure

32

Item 9A.

Controls and Procedures

32

Item 9B.

Other Information

34

Item 9C

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

34
   

PART III

     

Item 10.

Directors, Executive Officers and Corporate Governance

34

Item 11.

Executive Compensation

34

Item 12.

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

34

Item 13.

Certain Relationships and Related Transactions, and Director Independence

35

Item 14.

Principal Accounting Fees and Services

35
   

PART IV

     

Item 15.

Exhibits and Financial Statement Schedules

35

Item 16.

Form 10-K Summary

35
 

Index to Exhibits

35
 

Signatures

38
 

Index to Consolidated Financial Statements and Financial Statement Schedule

39

 

2

 

   

 

inTEST CORPORATION
FORM 10-K
FOR THE YEAR ENDED DECEMBER 31, 2023

 

 

Cautionary Statement Regarding Forward-Looking Statements
 

From time to time, we make written or oral "forward-looking statements" within the meaning of the Private Securities Litigation Reform Act of 1995, as amended, including statements contained in our filings with the Securities and Exchange Commission (the “SEC”) (including this Annual Report on Form 10-K for the year ended December 31, 2023 (this “Report”)), in our annual report to stockholders and in other communications. 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 “believes,” “expects,” “intends,” “may,” “could,” “will,” “should,” “plans,” “depending,” “projects,” “forecasts,” “seeks,” “anticipates,” “goal,” “objective,” “target,” “estimates,” “future,” “outlook,” “strategy,” “vision,” 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 5-Point Strategy;

 

our ability to grow our presence in the automotive/electric vehicle (“EV”), life sciences, security, industrial 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 effectively remediate the material weakness in our internal control over financial reporting that we have identified or our failure to develop and 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; and

 

general economic conditions both domestically and globally.

 

We discuss many of these risks and uncertainties and others under Part I, Item 1A "Risk Factors," in this Report, and elsewhere in this Report. 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. 

 

3

 

 

PART I

 

Item 1.

BUSINESS

 

OVERVIEW AND STRATEGY

 

inTEST Corporation was incorporated in New Jersey in 1981 and reincorporated in Delaware in April 1997. The consolidated entity is comprised of inTEST Corporation and our wholly-owned subsidiaries. In this Report, "we," "us," "our," and the "Company" refer to inTEST Corporation and our consolidated subsidiaries.

 

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 automotive, defense/aerospace, industrial, life sciences, security and semiconductors (“semi”). We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

In early 2021, we launched our 5-Point Strategy, our new corporate vision and our mission statement. Our vision is to be the supplier of choice for innovative test and process technology solutions. Our mission is to leverage our deep industry knowledge and expertise to develop and deliver high quality, innovative customer solutions and superior support for complex global challenges. We are committed to becoming recognized as a leader in our markets for design and manufacturing capabilities that help solve our customers’ most complex challenges in their manufacturing and quality processes. Our products provide highly engineered, high quality and cost-effective test and process technology solutions which are delivered with a customer focus that are intended to drive a high level of customer satisfaction. Our strategy is to consistently develop unique and differentiated solutions through innovative new product development and acquisitions.  We expect to expand our portfolio of products, services, and support to drive increased value to our customers to drive revenue and earnings growth. We believe by executing on our 5-Point Strategy, as described more fully below, that we can grow our annual revenue to between $200 million to $250 million by 2025, while maintaining our strong margin profile. We expect to do this through a combination of organic growth and acquisitions. Our 5-Point Strategy is as follows:

 

intt20231231_10kimg001.jpg

Global and Market Expansion. We believe our serviceable addressable market (“SAM”) is currently in excess of $2.0 billion and that we can provide significant and sustainable long-term growth by expanding our SAM and building a larger installed product base. To capture this opportunity, we intend to make investments to drive further penetration in our existing markets. These investments may include initiatives to increase revenue both by leveraging our customer relationships to provide a broader array of our current portfolio of products to our existing customer base as well as by expanding our customer base within these markets. In addition, we intend to increase our global footprint and coverage to better serve new and existing customers. Finally, our strategy in this area includes targeting expansion into new markets with our existing product portfolio. During 2023, our businesses continued to gain new customers in both the semi market and in our other target markets and we have expanded our sales and support network to regions of the world where we identified gaps in coverage. We also announced in December that we have signed a lease on a 25,000 square foot facility in Penang, Malaysia which will support applications engineering, product development and localized manufacturing for nearly all inTEST brands. It will serve as the main location in the region for customer product demonstrations, customer service and applications training. Currently, revenue from products shipped to Asia–Pacific represents approximately 35% of our consolidated total revenue.

 

Innovation and Differentiation. Our 5-Point Strategy focuses on leveraging our engineering know-how and expertise to deliver innovative solutions which we believe will outperform those of our competitors. We continue to invest in engineering resources with the goal of developing new and unique solutions to help solve our customers’ most complex challenges in their manufacturing and quality processes. Designed to be broadly applicable through more standardized platforms, these solution platforms enable late-stage configuration to address each customers’ unique requirements. We believe creating more standardization to increase market availability will drive growth and reduce costs by enabling us to increase the breadth and depth of our customer base. In 2023 in our Process Technologies division, we continued the roll out of our all-new Zoom Block camera with SCAiLX technology manufactured by Videology, which is a first-to-market product with custom artificial intelligence on the Edge platform. We also introduced our all-new EKOHEAT 2 induction heating products manufactured by Ambrell. The EKOHEAT 2 offering is the next generation and evolution of Ambrell’s renowned VPA Technology. In our Environmental Technologies division, we made great progress on the BT28, our next generation benchtop Thermostream. The BT28 is a new benchtop thermal testing system that we intend to officially be released at the OTC Conference in San Diego on March 26, 2024. It uses the same compressor technology that is in our large Thermostream to deliver -28 degrees Celsius to +225 degrees Celsius air at 14 standard cubic feet per minute, enabling our customers to save space and still be able to test a broad range of devices. Environmental Technologies also released several new industrial process chillers, specifically designed for the expanding automotive electric vehicle inverter testing market. In our Electronic Test division, we continued to expand our automated manipulator offerings with the launch of the LS2 manipulator for test heads under 250kg and the fully automated LSL manipulator for test heads weighing up to 1200kg. We expanded our solutions for the high-powered integrated circuit (“IC”) test market with new interface solutions supporting test equipment up to 2KV and 300AMPs with high site counts and our first automated hinge manipulator. Acculogic Inc. (“Acculogic”) shipped its first Flying Probe system with an integrated radio frequency (“RF”) measurement system for improved high frequency test measurement capability for semiconductor ATE and communications markets.

 

4

 

Service and Support. We have strong customer relationships and believe service and support activities are valuable in strengthening customer satisfaction, loyalty and retention. Through ensuring that we serve our customers’ needs, whether by expanding service coverage and decreasing response time or through expanding and enhancing service offerings, we believe we can drive revenue growth and strengthen our customer relationships. We expect to invest in resources to fill areas where we have identified gaps in service and support. As we expand our SAM and increase our market penetration, we also expect to identify opportunities to add more consumable products within our offerings. We believe that increasing the number of ways and the frequency with which we make customer contacts can drive growth in our business in the future. In 2023, we continued to expand our global service partner network. In addition, as noted previously, we recently announced our plans to open a facility in Malaysia which will serve as the main location in the region for customer product demonstrations, customer service and applications training. This facility is expected to begin operations in the second or third quarter of 2024.

 

Strategic Acquisitions & Partnerships. In addition to driving organic growth, our strategy includes acquiring businesses, technologies or products that are complementary to our current product offerings. Our acquisition strategy is to add to our current solutions by expanding capabilities, such as expanded induction heating frequency or refrigeration temperature range, and to expand our geographic presence. We also will consider new technologies that replicate the highly engineered, high quality and differentiated solutions of our current product portfolio for test and process solutions. Our focus is on expanding our electronic test capabilities, widening our thermal test capabilities in areas such as environmental test, and building our processing technologies offerings with expanded imaging and heating capabilities. We continue to assess target companies to drive further inorganic growth in support of our 5-year plan.

 

Talent and Culture. We believe ensuring the right people are in the right roles and are empowered to deliver success is crucial to the achievement of our core strategies. In addition, we have and will continue to create a culture and environment of openness, one that is results-oriented and drives accountability across the organization. Finally, we intend to foster diversity, equity and inclusion and provide opportunities for career development so as to maximize employee engagement, all of which is necessary to achieving our corporate vision. In 2023, we created the inTEST leadership academy which is another tool for identifying and developing talent from within, connecting emerging leaders across our organization and promoting collaboration and teamwork. In addition, we held our first company-wide marketing summit where our sales and marketing leadership from across the organization came together to collaborate on a global level and share ideas for growing and expanding the inTEST brand.

 

ACQUISITION

 

On March 12, 2024 we entered into a stock purchase agreement to acquire all of the outstanding capital shares of Alfamation S.p.A., (“Alfamation”), a leading global provider of state-of-the-art test and measurement solutions for the automotive, life sciences and specialty consumer electronics markets. Alfamation was founded in 1991 and is headquartered in Milan, Italy. Alfamation also has a small sales and service subsidiary based in Suzhou City, China. Alfamation will become a part of our Electronic Test operating segment. The aggregate purchase price was approximately €20 million comprised of approximately €18 million in cash, 187,432 shares of our common stock and an additional approximately €542,000 in cash for assets delivered at closing in excess of agreed upon thresholds. On the closing date, this equated to a total purchase price of approximately $22.4 million.

 

In connection with the acquisition, we have entered into a lease agreement (the “Lease Agreement”) with the former owner of Alfamation. The Lease Agreement will last for six years starting on March 12, 2024 and will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Lease Agreement, Alfamation will lease warehouse and office space totaling about 51,817 square feet. Alfamation will pay a yearly lease payment of €231,312 broken up into four equal payments. At the date of the signing of the Lease Agreement, the yearly lease payment equated to approximately $253,000.

 

MARKETS

Overview

 

We are focused on specific target markets which include automotive, defense/aerospace, industrial, life sciences, security and semi. Our largest market is semi. Products and equipment sold into semi are generally delineated as being part of either “front-end” or “back-end.” The roots of inTEST’s engineered product history are in the back-end of semi in integrated circuit (“IC”) testing.

 

($ in 000s)

 

Years Ended

 
                                   

Change

 
   

12/31/2023

   

12/31/2022

   

$

   

%

 

Revenue

                                               

Semi

  $ 65,735       53.3 %   $ 68,422       58.6 %   $ (2,687 )     -3.9 %

Industrial

    14,310       11.6 %     10,038       8.6 %     4,272       42.6 %

Automotive/EV

    9,895       8.0 %     10,776       9.2 %     (881 )     -8.2 %

Life Sciences

    4,856       3.9 %     4,589       3.9 %     267       5.8 %

Defense/Aerospace

    12,537       10.2 %     7,006       6.0 %     5,531       78.9 %

Security

    3,688       3.0 %     3,241       2.8 %     447       13.8 %

Other

    12,281       10.0 %     12,756       10.9 %     (475 )     -3.7 %
    $ 123,302       100.0 %   $ 116,828       100.0 %   $ 6,474       5.5 %

 

5

 

During 2023 our consolidated revenue grew $6.5 million or 6%. The increase primarily reflects increased demand for our thermal test solutions from customers in the defense/aerospace and industrial markets, and, to a lesser extent, increased demand for our induction heating solutions from customers in the industrial market. These increases were partially offset by declines in demand from the semi market. While demand from our customers in both the front-end and back-end of the semi market remained strong throughout most of 2023, we experienced declines in revenue from both these sectors of the semi market in the fourth quarter of 2023. We attribute these declines to the cyclical slowdown in the semi market which has been impacting this market as a whole for most of 2023 but which had not yet impacted us significantly as certain specific customers to which we sell many of our products in this market had continued to place orders with us.

 

Semi Market

The semi market includes both the broader semiconductor manufacturing industry as well as the more specialized wafer manufacturing (front-end) and semiconductor ATE (back-end) sectors within the broader semiconductor market. With our induction heating products, we serve the front-end of the semiconductor manufacturing process including silicon carbide ("SiC") crystal growth and epitaxial reactors. A variety of our electronic test and environmental technologies segments’ products are used in the back-end of the semiconductor manufacturing process, which includes the testing of ICs.

 

IC Testing. Semiconductor manufacturers typically produce ICs in multiples of several hundred or more on a silicon wafer that is later separated or "diced" into individual ICs. Extended leads are then attached to the individual ICs for later connection to other electrical components. In most cases, the ICs are then encapsulated in a plastic, ceramic or other protective housing. These process steps are called "packaging."

Wafers are tested before being diced and packaged to ensure that only properly functioning ICs are packaged. This testing step has several names, including "front-end test," "wafer test," "wafer probe" or "wafer sort." In front-end testing, an electronic handling device known as a wafer prober automatically positions the wafer under a probe card that is electronically connected to a "test head," which connects electrically to a test system. During front-end testing, there is a growing trend of thermally conditioning the wafer. Once the good ICs have been identified, they are packaged.

The packaged ICs also require testing, called "back-end test" or "final test," to determine if they meet design and performance specifications. Packaged ICs are tested after loading into another type of electronic handling device called a "package handler" or "handler," which then transfers the packaged ICs into a test socket that is attached to the test head. These handlers may be temperature controlled for testing.

Testers range in price from approximately $100,000 to over $2.0 million each, depending primarily on the complexity of the IC to be tested. Probers and handlers range in price from approximately $50,000 to $500,000 each. A typical test floor of a large semiconductor manufacturer may have 100 test heads and 100 probers or 250 handlers supplied by various vendors for use at any one time. While larger global semiconductor manufacturers typically purchase ATE to test the ICs they manufacture, there are a growing number of semiconductor manufacturers who outsource IC testing to third-party foundries, test and assembly providers. 

 

Test head manipulators, also referred to as positioners, facilitate the movement of the test head to the electronic device handler. Docking hardware mechanically connects the test head to the wafer prober or handler. Tester interface products provide the electrical connection between the test head and the wafer or packaged IC. 

 

Market Trends. We believe the semi market, an historically highly cyclical industry, will experience increased growth in the overall size of the market over the next several years as a result of billions of dollars of investments in new fabrication (“fab”) facilities around the world. These investments are being driven by the continued growth of the use of electronics, the need for powering an ever-growing number of devices and the continued economic development of less wealthy nations. We believe the COVID-19 pandemic and an increase in geopolitical tensions in recent years have made the high concentration of semiconductor manufacturing in China and Taiwan very apparent to more wealthy nations and has spurred the investment in expansion of this industry in areas outside of these regions. While we believe the semi market will continue to experience its historical pattern of cyclicality, we expect the effect on our business to be reduced due to our efforts to expand our customer base and the release of new products. Nonetheless, we expect the shifts in demand in the industry from periods of expansion to periods of contraction may be significant, as has been the case for much of the semi market in 2023, when the industry was in a period of slowing growth and overall declines as compared to 2021 and 2022.

 

6

 

We believe that semiconductor manufacturers remain under pressure to maximize production yields and reduce testing costs. At the same time, the growing complexity of ICs has increased the difficulty of maximizing test yields. In order to address these market trends, we believe semiconductor manufacturers strive for more effective utilization of ATE, smaller test areas and increased wafer level testing which requires our differentiated solutions that include test head manipulators, test head docking stations and test interfaces. As technology advances and ICs become increasingly more complex, we believe the need for increased capabilities in the test process should drive greater demand for our equipment. We expect that more front-end testing is going to be required in order to ensure maximum yield from the massive capital investments being made in fab expansion.

 

Other Markets

 

We provide a variety of solutions to our automotive, defense/aerospace, industrial, life sciences, and security markets. We believe a number of drivers are creating more opportunity for our highly-engineered solutions in these markets.

 

In the automotive market, we provide solutions that help in the quality and productivity of both internal combustion and electric vehicle (“EV”) manufacturing. Our EV solutions include, but are not limited to, induction heating solutions for motor manufacturing, automated test equipment for battery cells, and industrial process chillers and thermal test chambers for inverter and battery testing. We believe there is a strong global growth trend in EVs and that our differentiated solutions can be applied with more customers in more geographic regions. 

 

In the defense/aerospace industry, we provide ATE to prime and subcontract manufacturers to ensure quality control is maintained while also providing quicker, more accurate test times of electronic circuit boards. We also provide solutions for thermal testing of equipment to ensure it will function over the specified temperature range. We believe this market is growing, in part, due to recent global instability.

 

The industrial market is the broadest, most diverse area we serve with a majority of our products serving a variety of applications. Applications for our induction heating products include annealing, bonding, brazing, curing, forging, heat treating, melting and shrink-fitting. Applications for our thermal test and process products include pressure-sensor testing, printed circuit board testing and cold-trap cooling for industrial processes. We believe the trend toward the use of green energy, automation, increased productivity and expanding manufacturing technology present opportunities for us to help our customers solve their complex challenges.

 

In the life sciences industry, we provide image capture products, electronic test systems and heating systems for medical device manufacturing and equipment for critical applications within the medical cold chain for pharmaceuticals.

 

In the security industry, our image capture and data management technologies are used in a broad variety of applications. 

 

OUR SOLUTIONS

 

We focus our development efforts on designing and producing high quality products that provide superior performance and cost-effectiveness. We seek to address each manufacturer's individual needs through innovative and customized designs, use of the best materials available, quality manufacturing practices and personalized service. We design solutions to overcome the evolving challenges facing the semi market and other markets that we serve, which we believe provide the following advantages:

 

Temperature-Controlled Testing. Our ThermoStream(R) products are used by manufacturers in a number of markets to stress test a variety of semiconductor and electronic components, printed circuit boards and sub-assemblies. Factors motivating manufacturers to use temperature testing include design characterization, failure analysis and quality control, as well as determining performance under extreme operating temperatures, all of which contribute to manufacturing cost savings. Our thermal platforms and temperature chambers, sold under our Sigma Systems product line, can accommodate large thermal masses and are found in both laboratory and production environments. Thermonics' products provide a range of precision temperature forcing systems and have been melded into Temptronic's ATS ThermoStream product line. The Thermonics brand is now used to market a family of process chillers for test and industrial applications.
 

Ultra-Cold Storage Solutions. Our North Sciences offerings include high-performance biomedical freezer, refrigerators and mobile storage solutions that meet versatile applications, including ultra-cold storage solutions for biological sample banks, blood safety, vaccine safety, medical supplies and reagent safety.

 

7

 

Induction Heating. Our induction heating products are used in process applications where precision-controlled heating is needed.  Customers use our induction heating products in conjunction with other technologies in various manufacturing environments to improve production efficiencies and reduce or eliminate greenhouse gas emissions.  Applications for our EKOHEAT(R) or EASYHEAT™ induction heating products include annealing, bonding, brazing, curing, forging, heat treating, melting, shrink-fitting, crystal growing, semi-wafer heating and material testing.

 

Digital Streaming and Image Capturing Solutions. Videology offers industrial-grade circuit board mounted digital imaging solutions, Zoom Block cameras and complete image capture systems. Videology also offers OEMs imaging solutions designed to the customers’ specifications and that can interface with the customers’ software.

 

Scalable, Universal, High Performance ATE Integration Solutions. Our universal test head manipulators provide a high degree of positioning flexibility with a minimum amount of effort. As a result, our products can be used in virtually any test setting. Our manipulator products are designed to accommodate the increased size of test heads and can now supporting test heads weighing up to 1200kg. Our docking hardware products offer precise control over the connection to test sockets, probing assemblies and interface boards, reducing downtime and minimizing costly damage to fragile components. Our newest manipulator and docking hardware designs offer automated capabilities that allow for reduced downtime and increased productivity through predictable and repeatable production setup with reduced risk of operator error. Our tester interface products optimize the integrity of the signals transmitted between the test head and the device under test by being virtually transparent to the test signals, which results in increased accuracy of the test data and may thus enable improved test yields. Our interface product offerings have recently been expanded to serve the growing market for testing higher powered devices. A hallmark of our semi market product offerings has been, and continues to be, compatibility with a wide variety of ATE. Our manipulator and docking hardware products are all designed to be used with otherwise incompatible ATE. We believe this integrated approach to ATE facilitates smooth changeover from one tester to another, longer lives for interface components, better test results, increased ATE utilization and lower overall test costs.

 

Robotics-Based Electronic Production Test Equipment. Acculogic adds to our electronic test platform offerings beyond those which exclusively serve the semi market. Acculogic designs and manufactures robotics-based electronic production test equipment and provides application support services which are sold to electronic manufacturers including OEM and contract electronic manufacturers as well as battery manufacturers.

 

Worldwide Customer Service and Support. We have long recognized the need to maintain a physical presence near our customers' facilities. At December 31, 2023, we had manufacturing facilities in the U.S. in Massachusetts, New Jersey, and New York as well as outside the U.S. in Canada, Germany and the Netherlands. We provided service to our customers from sales and service personnel based in the U.S., Europe and Asia. Our engineers are easily accessible to, and can work directly with, most of our customers from the time we begin developing our initial proposal, through the delivery, installation and use of the product by our customer. In this way, we are able to develop and maintain close relationships with our customers.

As previously mentioned, we announced in December 2023 that we have signed a lease on a 25,000 square foot facility in Penang, Malaysia which will support applications engineering, product development and localized manufacturing for nearly all inTEST brands. It will serve as the main location in the region for customer product demonstrations, customer service and applications training. This facility is expected to begin operations in the second or third quarter of 2024.

 

OUR SEGMENTS

 

As noted above, we have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

Our Electronic Test segment consists of (i) inTEST EMS which has operations in New Jersey and California, and (ii) Acculogic, which has operations in Canada, California and Germany. Semiconductor manufacturers use our inTEST EMS solutions in back-end testing where our mechanical and electrical products serve production testing of wafers and specialized packaged ICs.  These ICs include microprocessors, digital signal processing chips, mixed signal devices, MEMS (Micro-Electro-Mechanical Systems), application specific ICs and specialized memory ICs, and are used primarily in the automotive, consumer electronics, industrial, and mobile communication markets. Our products are a combination of standard designs based on industry requirements and those designed specifically to meet a customer's particular combination of ATE. Acculogic’s product offerings include robotics-based electronic test equipment and application support services used primarily in defense/aerospace, automotive, battery, life sciences and electronic manufacturing services industries.

 

Our Environmental Technologies segment consists of inTEST Thermal Solutions (“iTS”), which manufactures and sells products under the Temptronic, Sigma, Thermonics and North Sciences brand names and has operations in Massachusetts, Germany and Singapore. Customers use the thermal solutions produced by iTS for product development, characterization and production test. This segment also offers ultra-cold storage solutions for the life sciences cold chain market. Our Environmental Technologies segment provides these solutions across an array of markets including automotive, defense/aerospace, industrial, life sciences and semiconductor.

 

8

 

Our Process Technologies segment consists of (i) Ambrell which has operations in New York, the Netherlands and the U.K. and (ii) Videology, which has operations in Massachusetts and the Netherlands. Ambrell provides customers with induction heating solutions for a wide variety of manufacturing processes.  Videology is a designer, developer and manufacturer of digital streaming and image capturing solutions. Our Process Technologies segment provides these solutions across an array of markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor.

 

Electronic Test Products

 

Manipulator Products. We offer three lines of manipulator products: the in2(R), the Cobal and the LS Series. These free-standing universal manipulators can hold a variety of test heads and enable an operator to reposition a test head for alternate use with any one of several probers or handlers on a test floor.

 

Our manipulator products incorporate a balanced floating-head design. This design permits a test head weighing up to 1,760 pounds to be held in an effectively weightless state, so it can be moved manually or with optional powered assistance, up or down, right or left, forward or backward and rotated around each axis (known as six degrees of motion freedom) by an operator using a modest amount of force or with a computer controlled pendant. The same design features enable the operator to dock the test head without causing inadvertent damage to the fragile electrical contacts. As a result, after testing a particular production lot of ICs, the operator can quickly and easily disconnect a test head that is held in an in2(R) or Cobal Series manipulator and equipped with our docking hardware and dock it to another electronic device handler for testing either a subsequent lot of the same packaged ICs or to test different ICs. With the LS Series manipulators, the undocking, movement of the test head and redocking can be done automatically through the computer controlled pendant. Our manipulator products generally range in price from approximately $12,000 to $100,000.

 

Docking Hardware Products. We offer two lines of docking hardware products: fixed manual docking and IntelliDock pin and cup docking. Both types protect the delicate interface contacts and ensure proper repeatable and precise alignment between the test head's interface board and the prober's probing assembly or the handler's test socket as they are brought together, or "docked." Fixed manual docking includes a mechanical cam mechanism to dock and lock the test head to the prober or handler. IntelliDock is an automated docking solution that provides operator feedback for each docking step via a touchscreen display, and when coupled with the LS Series manipulator, redeployment of the test head can be done automatically and accurately via the computer pendant. Both types of docking hardware products eliminate motion of the test head relative to the prober or handler once docked. This minimizes deterioration of the interface boards, test sockets and probing assemblies that is caused by constant vibration during testing. Our docking hardware products are used primarily with floating-head universal manipulators when maximum mobility and inter-changeability of handlers and probers between test heads is required. By using our docking hardware products, semiconductor manufacturers can achieve cost savings through improved ATE utilization, improved accuracy and integrity of test results, optimized floor support and reduced repairs and replacements of expensive ATE interface products.

 

We believe our docking hardware products offer our customers the ability to make various competing brands of test heads compatible with various brands of probers and handlers by only changing interface boards. This is called "plug-compatibility." Plug-compatibility enables increased flexibility and utilization of test heads, probers and handlers purchased from various ATE manufacturers. We believe that because we do not compete with ATE manufacturers in the sale of probers, handlers or testers, ATE manufacturers are willing to provide us with the information that is integral to the design of plug-compatible products. Our docking hardware products generally range in price from approximately $2,000 to $25,000.

Interface Products. Our tester interface products provide the electrical connections between the tester and the wafer prober or IC handler to carry the electrical signals between the tester and the probe card on the prober or the test socket on the handler. Our designs optimize the integrity of the transmitted signal. Therefore, our tester interfaces can be used with high speed, high frequency, digital or mixed signal testers used in testing more complex ICs. Because our tester interface products enable the tester to provide more reliable yield data, our interfaces may also reduce IC production costs. We design standard and modular interface products to address most possible tester/prober combinations on the market today. In addition, we provide a custom design service that will allow any of our customers to use virtually any tester, prober or handler combination with any type of device, such as analog, digital, mixed signal and radio frequency. For example, our Centaur(R) modular interface is designed to provide flexibility and scalability through the use of replaceable signal modules which can be easily changed on the test floor as our customers' testing requirements change. In addition to the Centaur(R) modular interface, we also offer over 200 different types of tester interface models that we custom designed for our customers' specific applications. These tester interface products generally range in price from approximately $7,000 to $175,000.

 

Acculogic Scorpion Flying Probe Test Systems. Acculogic designs and manufactures robotics-based electronic test equipment and provides application support services for OEMs, contract electronic manufacturers and battery manufacturers. These systems are used to structurally test an electronic device including printed circuit board assembly (“PCBA”) and battery interconnect test. Structural testing provides confirmation that the device was manufactured properly by confirming circuits are functioning properly. In addition to testing of the basic circuitry of a PCBA, our Acculogic solutions can integrate various functional testing capabilities such as boundary scan and RF measurement to confirm that the device will perform the functions for which it is designed. Acculogic’s Scorpion Flying Probe system can be quickly programmed to test almost any printed circuit board. This programming is done with computer-aided design or design data of the device to be tested. Traditional in-circuit testing systems require a dedicated fixture for each board to be tested. Acculogic’s Flying Probe system can test a virtually unlimited number of boards without any hardware modifications. These systems generally sell for between $250,000 and $800,000.

 

9

 

Acculogic BRiZ Automated Test and Programming Services: BRiZ is an automated test platform that can consolidate any variety of circuit board test and programming into a single, compact, low-cost test station. These platforms generally sell for between $50,000 and $250,000.

 

Environmental Technologies Products

ThermoStream(R) Products: Our ThermoStream(R) products are used in the semi market as a stand-alone temperature management tool, or in a variety of electronic test applications as part of our MobileTemp systems. ThermoStream(R) products provide a source of heated and cooled air that can be directed over the component or device under test. These systems are capable of controlling temperatures to within +/- 0.1 degree Celsius over a range of -100 degrees Celsius to as high as +300 degrees Celsius within 1.0 degree Celsius of accuracy. As a stand-alone tool, ThermoStreams(R) provide a temperature-controlled air stream to rapidly change and stabilize the temperature of packaged ICs and other devices.

Our MobileTemp Series combines our ThermoStream(R) products with our family of exclusive, high-speed ThermoChambers to offer thermal test systems with fast, uniform temperature control in a compact package enabling temperature testing at the test location. MobileTemp Systems are designed specifically for small thermal-mass applications beyond the semi market and have found application in the automotive, electronic, fiber optic and oil field service markets testing such things as electronic sub-assemblies, sensor assemblies, and printed circuit boards.

 

Traditionally, our customers use ThermoStream(R) products primarily in engineering, quality assurance and small-run manufacturing environments. ThermoStream(R) and MobileTemp products generally range in price from approximately $15,000 to $55,000.

 

Thermal Chambers: Our thermal chamber products are available in a variety of sizes, from small bench-top units to chambers with internal volumes of twenty-seven cubic feet and greater and with temperature ranges as wide as from -190 degrees Celsius to +500 degrees Celsius. Chambers can be designed to utilize liquid nitrogen or liquid carbon dioxide cooling or mechanical refrigeration, and sometimes both. These chambers can accommodate large thermal masses and are found in both laboratory and production environments. Chambers are generally priced from $18,000 to $150,000.

 

Thermal Platforms: Our thermal platforms are available in surface sizes ranging from 7.2 square inches to 616 square inches. They provide a flat, thermally conductive, precisely temperature controllable surface that is ideal for conditioning of testing devices with a flat surface. Platforms are available with temperature ranges as broad as -100 degrees Celsius to +250 degrees Celsius. Thermal platforms can be designed to utilize either liquid nitrogen or liquid carbon dioxide cooling or mechanical refrigeration. Platforms offer virtually unimpeded access to the device under test and their easy access and compact size makes them ideal for convenient bench-top use. Platforms are generally priced from $6,500 to $65,000.

 

Thermonics(R) Products: Our Thermonics temperature conditioning products, which include our process chillers, provide tempered gas or fluid to enable customers to maintain desired thermal conditions within their tool or process. Applications include general industrial, chemical processing, energy, electronics, automotive, defense/aerospace and semiconductor markets. Prices generally range from $25,000 to greater than $300,000.

 

Ultra-Cold Storage Solutions: Our high-performance biomedical freezers, refrigerators and mobile storage solutions meet versatile applications, including ultra-cold storage solutions for biological sample banks, blood safety, vaccine safety, medical supplies and reagent safety. Prices generally range from $1,500 to $20,000.

 

Process Technologies Products

 

EKOHEAT(R) Products: Our EKOHEAT(R) induction heating systems with power ratings from 10kW to 1 MW are manufactured by Ambrell and are used to conduct fast, efficient, repeatable non-contact heating of metals or other electrically conductive materials in order to transform raw materials into finished parts. Prices generally range from $25,000 to $250,000.

 

EASYHEAT Products: Our compact EASYHEAT™ induction heating systems with power ratings from 0.5kW to 10kW are manufactured by Ambrell and used to conduct fast, efficient, repeatable non-contact heating of metals or other electrically conductive materials in order to transform raw materials into finished parts. Prices generally range from $5,000 to $25,000.

 

10

 

Applications for both EKOHEAT(R) and EASYHEAT™ products include annealing, bonding, brazing, curing, forging, heat treating, melting, shrink-fitting, soldering and testing.

 

Digital Streaming and Image Capturing Solutions. Our industrial-grade imaging solutions are designed and manufactured by Videology. They provide custom solutions for OEMs and end users and specialize in meeting customer’s design specifications for imaging systems. Per unit prices for these products can range from less than $100 to as much as $5,000 for a single unit. These products are generally purchased in higher volumes than our other products.

 

Financial Information About Operating Segments and Geographic Areas

Please see Note 17 to the consolidated financial statements included in Item 8 of this Report for additional data regarding revenue, profit or loss and total assets of each of our segments and revenue attributable to foreign countries.

 

MARKETING, SALES AND CUSTOMER SUPPORT

We market and sell our products globally and across multiple markets, as previously discussed. North American and European semiconductor manufacturers, as well as third-party foundries, test and assembly providers, have located most of their back-end factories in China, Taiwan and Southeast Asia. The front-end wafer fabrication plants of U.S. semiconductor manufacturers are primarily in the U.S. Likewise, European, Taiwanese, South Korean and Japanese semiconductor manufacturers generally have located their wafer fabrication plants in their respective countries.

 

Electronic Test Products: In North America, we sell our inTEST EMS products to semiconductor manufacturers through internal account representatives and independent, commissioned sales representatives. North American sales representatives also coordinate product installation and support with our technical staff and participate in trade shows.

Our internal sales account managers handle sales to ATE manufacturers and are responsible for a portfolio of customer accounts and for managing certain independent sales representatives. In addition, our sales account managers are responsible for pricing, quotations, proposals and transaction negotiations, and they assist with applications engineering and custom product design. Technical support is provided to North American customers by employees based in New Jersey, California and Texas.

In Europe, we sell to semiconductor and ATE manufacturers through our internal sales staff. Technical support is provided by our staff in the U.K. In China, Japan, the Philippines, South Korea, and Thailand, we sell through the use of independent sales representatives who are supervised by our internal sales staff. In Malaysia, Singapore and Taiwan, our sales are handled by our internal sales staff. International sales representatives are responsible for sales, installation, support and trade show participation in their geographic market areas. Technical support is provided to Asian customers primarily by employees based in Malaysia, the Philippines and Taiwan.

 

Our robotics-based electronic test equipment and automated test programming services are sold in North America through a combination of internal sales staff and manufacturer representatives. Customer support is supplied by a team located throughout North America. In Europe, these products and services are sold through manufacturer representatives and supported with direct employees based in our Hamburg, Germany facility. In Asia, these products and services are sold through a mixture of distributors and manufacturer representatives. Customer support is provided by trained distributors and supplemented by direct employees from North America and Europe.

 

Environmental Technologies Products: We market our Temptronic, Sigma Thermonics, and North Sciences brands under the umbrella name of inTEST Thermal Solutions and sales to ATE manufacturers are handled directly by our own sales force and our network of independent representatives and distributors. Sales to life sciences customers worldwide are handled directly by our own sales force and by our network of independent representatives and distributors. Sales to semiconductor manufacturers and customers in other markets in the U.S. are handled through independent sales representative organizations. In Singapore and Malaysia, our sales and service are handled through our internal sales and service staff. In the rest of Asia, our sales are handled through distributors. In Europe, sales managers at our office in Germany, as well as regional distributors and independent sales representatives, sell to semiconductor manufacturers and customers in other markets. We communicate with our distributors regularly and have trained them to sell and service our thermal products.

Process Technologies Products: We market our EASYHEAT™ and EKOHEAT(R) precision induction heating equipment to manufacturers who require specialized industrial heating in a wide array of industries, including automotive, aerospace and semiconductor, and are sold globally through a combination of regional sales managers and independent distributors. In North America, direct regional sales managers provide sales coverage augmented by independent sales representatives. In Europe, direct sales managers provide sales coverage augmented by independent distributors. In Asia, distributors have responsibility for sales and service of our products. We generate a significant portion of our sales leads through our website as well as through trade show attendance where we display our products and technology.

 

11

 

We also provide induction heating product support through our SmartCARE Service offering, which includes equipment repairs and training, preventative maintenance, enhanced warranties and spare parts. Our field service engineers, located in the U.S. and Europe, provide service and support globally. Additionally, a number of distributors in Europe and Asia have factory-trained service technicians.

 

We market our Videology industrial camera solutions to OEMs and end users both directly and through distributors.  We have both manufacturing and service capabilities in the U.S. and the Netherlands.  We acquire our sales from repeat long-term customers, new leads through our website, regional sales managers and distributors as well as through trade show attendance where we display our products and technology.

 

CUSTOMERS

We market our products to end users including semiconductor manufacturers, third-party foundries and test and assembly providers, as well as to OEMs, which include ATE manufacturers and their third-party outsource manufacturing partners. We also market our products to independent testers of semiconductors, manufacturers of automotive, defense/aerospace, industrial, life sciences and security products, semiconductor research facilities, and manufacturers and manufacturing process integrators for a variety of industrial process applications. Our customers use our products principally in production testing or process/manufacturing applications, although our ThermoStream(R) products traditionally have been used largely in engineering development and quality assurance. We believe that we sell to most of the major semiconductor manufacturers in the world.

 

During the year ended December 31, 2023, one customer accounted for 13% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. During the year ended December 31, 2023, no other customer accounted for 10% or more of our consolidated revenue. During the year ended December 31, 2022, no customer accounted for 10% or more of our consolidated revenue.

An important aspect of our 5-Point Strategy includes broadening and diversifying our customer base. We plan to do this both through acquisitions as well as through leveraging current customer relationships, increasing our portfolio of product offerings and expanding our global footprint to better serve existing and new customers. The list of our largest customers in any given period continues to shift as we advance the applications of our technologies, acquire new technologies and grow the business. The loss of any one or more of our largest customers, or a reduction in orders by a major customer, could materially reduce our revenue or otherwise materially affect our business, financial condition or results of operations.

 

MANUFACTURING AND SUPPLY

 

At December 31, 2023, our principal manufacturing operations consisted of assembly and testing at our facilities in in the U.S. (Massachusetts, New Jersey and New York), Canada, Germany and the Netherlands. We assemble most of our products from a combination of standard components and custom parts that have been fabricated to our specifications by either third-party manufacturers or our own facilities. Our practice is to use high quality raw materials and components in our products. The primary raw materials used in fabricated parts are widely available. Substantially all of our components are purchased from multiple suppliers; however, certain raw materials and components are sourced from single suppliers, as discussed further in Item 7, “Management's Discussion and Analysis of Financial Condition and Results of Operations”. Although, from time to time, certain components may be in short supply due to high demand or inability of vendors to meet quality or delivery requirements, we believe that all materials and components are available in adequate amounts from other sources, except as noted above.

 

We conduct inspections of incoming raw materials, fabricated parts and components using sophisticated measurement equipment. This includes testing with coordinate measuring machines in all but one of our manufacturing facilities to ensure that products with critical dimensions meet our specifications. We have designed our inspection standards to comply with applicable MIL specifications and ANSI standards.

Each of our Massachusetts, New York, and Canada facilities is ISO 9001:2015 certified. Our New Jersey facility manufactures products only for the semiconductor industry where ISO certification is not required, so we do not maintain any ISO certifications there. However, this location does employ the practices embodied in the ISO 9001:2008.

 

Our Massachusetts facility and our Acculogic office in CA are ITAR compliant enabling them to support the specific requirement of the U.S. Department of Defense. Our Canadian facility is compliant with the Canadian Controlled Goods Program, enabling them to support the Canadian Department of Defense.

ENGINEERING AND PRODUCT DEVELOPMENT

Our success depends on our ability to provide our customers with products and solutions that are well engineered and to design those products and solutions before, or at least no later than, our competitors. At December 31, 2023, we employed a total of 84 engineers engaged in engineering and product development. In addition, when the demands of engineering and product development projects exceed the capacity or knowledge of our in-house staff, we retain temporary third-party engineering and product development consultants to assist us. Our practice in many cases is to assign engineers to work with specific customers, thereby enabling us to develop the relationships and exchange of information that is most conducive to successful product development and enhancement. In addition, some of our engineers are assigned to new product research and development and have worked on such projects as the development of new types of universal manipulators, the redesign and development of new thermal products and the development of high-performance interfaces.
 

12

 

Since most of our products are customized, we consider substantially all of our engineering activities to be engineering and product development. In the years ended December 31, 2023 and 2022, we spent approximately $7.6 million and $7.5 million, respectively, on engineering and product development.

 

PATENTS AND OTHER PROPRIETARY RIGHTS

 

We intend to protect our technology by filing patent applications for the technologies that we consider important to our business. We also rely on trademarks, trade secrets, copyrights and unpatented know-how to protect our proprietary rights.

 

We believe our intellectual property has value, and we have taken in the past, and will take in the future, actions we deem appropriate to protect such property from misappropriation. There can be no assurance, however, that such actions will provide meaningful protection from competition. In the absence of intellectual property protection, we may be vulnerable to competitors who attempt to copy or imitate our products or processes. For additional information regarding risks related to our intellectual property, see Part I, Item 1A "Risk Factors" in this Report.

 

While we believe that our patents and other proprietary rights are important to our business, we also believe that, due to the rapid pace of technological change in the markets we serve, the successful manufacture and sale of our products also depends upon our engineering, manufacturing, marketing and servicing skills.

 

It is our practice to require that all of our employees and third-party product development consultants assign to us all rights to inventions or other discoveries relating to our business that were made while working for us. In addition, all employees and third-party product development consultants agree not to disclose any private or confidential information relating to our technology, trade secrets or intellectual property.

 

At December 31, 2023, we held 30 active U.S. patents and had no pending U.S. patent applications covering various aspects of our technology. Our U.S. patents expire at various times beginning in 2024 and extending through 2039. During 2023, one U.S. patent was issued and 18 U.S. patents expired. We do not believe that the upcoming expiration of certain of our patents in 2024 will have a material impact on our business. We also hold foreign patents and file foreign patent applications, in selected cases corresponding to our U.S. patents and patent applications, to the extent management deems appropriate.

 

COMPETITION

We operate in an increasingly competitive environment within all of our operating segments. Some of our competitors have greater financial resources and more extensive design and production capabilities than us. Certain markets in which we operate have become more fragmented, with smaller companies entering the market. These new smaller entrants typically have much lower levels of fixed operating overhead than us, which enables them to be profitable with lower priced products. In order to remain competitive with these and other companies, we must continue to commit a significant portion of our personnel, financial resources, research and development and customer support to developing new products and maintaining customer relationships worldwide.

Our competitors include independent manufacturers, ATE manufacturers and, to a lesser extent, semiconductor manufacturers' in-house ATE interface groups. Competitive factors in the markets we serve include price, functionality, timely product delivery, customer service, applications support, product performance and reliability. We believe that our long-term relationships with our customers in the various markets we support and our commitment to, and reputation for, providing high quality products, are important elements in our ability to compete effectively in all of our markets.

 

Our principal competitors for manipulator products are Advantest Corporation, Esmo AG, Reid-Ashman Manufacturing and Teradyne, Inc. Our principal competitors for docking hardware products include Advantest Corporation, Esmo AG, Reid-Ashman Manufacturing and Teradyne, Inc. Our principal competitors for tester interface products are Advantest Corporation, Esmo AG, Reid-Ashman Manufacturing and Teradyne, Inc. Our principal competitors for Acculogic products are Digitaltest GmbH, Seica S.P.A., SPEC S.P.A., and Takaya Corporation.

 

Our principal competitors for Thermostream(R) products are FTS Systems, a part of SP Industries, and MPI Corporation. Our principal competitors for environmental chambers are Cincinnati Sub-Zero Products, Inc., Espec Corp. and Thermotron Industries. Our principal competitor for thermal platforms is Environmental Stress Systems Inc. Our principal competitors for liquid chillers include Huber Kältemaschinenbau AG, Julabo GmbH, Boyd Corporation, and Advanced Thermal Sciences Corporation. Our principal competitors for life sciences products include Panasonic Health Care Holdings Corporation, Haier Group Corporation, Thermo Fisher Scientific Corporation, and Eppendoerf AG.

 

13

 

Our principal competitors for EKOHEAT(R) and EASYHEAT™ products are Inductotherm Corporation, Park-Ohio Holdings, EFD Induction Corporation, Trumpf Huettinger GmbH, Ultraflex Power Technologies and CEIA SpA. Our digital streaming and image capturing solutions products compete in a large space with multiple small competitors. There is no competitor that has over 5% share of the current market.

 

BACKLOG

At December 31, 2023, our backlog of unfilled orders for all products was $40.1 million compared with $46.8 million at December 31, 2022. Our backlog consists of purchase orders that we have accepted, substantially all of which we expect to deliver in 2024. 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 shorter 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, which has the effect of increasing backlog. As a result of these factors, our backlog at a particular date is not necessarily indicative of sales for any future period. See also the discussion of backlog in Part II, Item 7 under “Orders and Backlog.”

 

EMPLOYEES

At December 31, 2023, we had 334 employees (323 of which were full-time), including 154 in manufacturing operations, 130 in customer support/operations and 50 in administration. Substantially all of our key employees are highly skilled and trained technical personnel. None of our employees are represented by a labor union, and we have never experienced a work stoppage. From time to time, we retain third-party contractors to assist us in manufacturing operations and engineering and product development projects.

 

ADDITIONAL INFORMATION

Our Annual Report on Form 10-K, Quarterly Reports on Form 10-Q and Current Reports on Form 8-K, and amendments to these reports that are filed with the SEC pursuant to Section 13(a) or 15(d) of the Securities Exchange Act of 1934, as amended (“Exchange Act”), are available free of charge through our website (www.intest.com) as soon as reasonably practicable after we electronically file them with, or furnish them to, the SEC. We also routinely post press releases, presentations, webcasts and other information regarding the Company on our website. The information posted to our website is not part of this Report.

 

Item 1A.

RISK FACTORS

 

The following are some of the factors that could materially and adversely affect our future performance or could cause actual results to differ materially from those expressed or implied in our forward-looking statements. The risks and uncertainties described below are not the only risks facing us and we cannot predict every event and circumstance that may adversely affect our business. However, these risks and uncertainties are the most significant factors that we have identified at this time. If one or more of these risks actually occurs, our business, results of operations and/or financial condition could suffer, and the price of our stock could be negatively affected.

 

RISKS RELATED TO OUR ACQUISITION AND GROWTH STRATEGY

 

We seek to grow our business through the acquisition of additional businesses. If we are unable to do so, our future rate of growth may be reduced or limited. We may incur significant expenses related to due diligence or other transaction-related expenses for a proposed acquisition that may not be completed.

A key element of our growth strategy is to acquire businesses, technologies or products that are complementary to our current product offerings. We seek to make acquisitions that will further expand our product lines as well as strengthen our positions in served markets and provide expansion into new markets. We may not be able to execute our acquisition strategy and our future growth may be limited if:

 

 

we are unable to identify suitable businesses, technologies or products to acquire;

 

we do not have sufficient cash or access to required capital at the necessary time;

 

we are unwilling or unable to outbid larger companies with greater resources; or

 

we are unable to successfully close proposed acquisitions.

 

We may incur significant expenses related to due diligence or other transaction-related expenses for a proposed acquisition that may not be completed, which may have a material adverse effect on our financial condition and results of operations.

 

14

 

Our acquisition strategy involves financial and management risks which may adversely affect our results in the future.

 

If we acquire additional businesses, technologies or products, we will face the following additional risks:

 

 

acquisitions could divert management's attention from daily operations or otherwise require additional management, operational and financial resources;

 

we might not be able to integrate acquisitions into our business successfully or operate acquired businesses profitably;

 

we may realize substantial acquisition related expenses that would reduce our net earnings in future years;

 

we may not realize the expected benefits of such acquisitions; 

 

our investigation of potential acquisition candidates may not reveal problems and liabilities of the companies and businesses that we acquire;

 

any acquisitions may pose risks associated with entry into new geographic markets, including outside the U.S., distribution channels, lines of business or product categories, where we may not have significant or any prior experience and where we may not be as successful or profitable as we are in businesses and geographic regions where we have greater familiarity and brand recognition;

 

an acquisition may result in disparate information technology, internal control, financial reporting and record-keeping systems;

 

an acquisition may result in employee anxiety, morale and/or engagement issues and employees not familiar with our business;

 

an acquisition may result in the loss of our or the acquired company’s key personnel, customers, distributors or suppliers; and

 

we may become exposed to litigation or claims associated with an acquisition.

 

If any of the events described above occur, our earnings could be reduced and may adversely affect our financial condition, results of operations and ability to grow our business or otherwise achieve our financial and strategic objectives. If we issue shares of our stock or other rights to purchase our stock in connection with any future acquisitions, the issuance will dilute our existing stockholders' interests and our earnings per share may decrease. If we issue or incur debt in connection with any future acquisitions, lenders may require that we pledge our assets to secure repayment of such debt and impose covenants on us, which could, among other things, restrict our ability to increase capital expenditures or to acquire additional businesses.

 

We may attempt to acquire a business that would require us to issue equity or incur significant debt from third parties. If we are unable to secure sufficient financing at terms that are acceptable to us, we may not be able to close the proposed acquisition. Additionally, should we incur significant debt, we may not be able to achieve compliance with all covenants related to the debt depending on our financial results in future periods.

 

In connection with our acquisition strategy, we may pursue potential acquisition opportunities which could require us to issue equity or obtain significant third-party financing to close the proposed transaction. We may encounter difficulties in securing necessary financing at terms that would be acceptable to us and may not be able to close on the proposed acquisition. In addition, should we incur significant third-party debt, our future financial results may be negatively impacted by external factors, such as an economic recession, which may impact our ability to achieve compliance with any covenants related to the debt as well as make the required payments under the terms of the indebtedness.

 

We may acquire businesses in the future and utilize an earnout structure as we have done in prior transactions we have closed. In connection with the earnout, we may be required to accrue significant increases or decreases to the contingent consideration liability we would establish. These adjustments to the contingent consideration liability could cause our results of operations to have increased variability, which may negatively impact our stocks trading price.

 

We may utilize an earnout structure on future acquisitions as we have done in prior transactions we have closed. The initial contingent consideration liability is established as part of the accounting for the business combination. In subsequent periods, we are required to estimate the fair value of the contingent consideration associated with any earnout on a quarterly basis and record an adjustment to the contingent consideration liability in our results of operations for the period concerned. The contingent consideration adjustment we record quarterly may cause increased variability in our future results of operations, which may cause fluctuations in our stock price.

 

In connection with our acquisition of Acculogic we have recorded a contingent consideration liability that represents the fair value of additional payments we may make to the seller of 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 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 USD $3.8 million at December 31, 2023. There were no payments due for the years ended December 31, 2022 or 2023. The fair value of this contingent consideration liability involves assessing the total amount of revenue we expect from sales to EV or battery customers during the applicable time periods as well as when we expect to receive payment for the related net invoices. At December 31, 2023, the contingent consideration liability on our balance sheet was USD $1.1 million which was its estimated fair value at that date. Any future adjustments to the estimated fair value of the contingent liability will be recorded in our results of operations for the period in which the adjustment occurs.

 

15

 

We may not be able to effectively manage our growth and operations, which could materially and adversely affect our business.

 

As we implement our business strategy as intended, we have and may in the future experience rapid growth and development in a relatively short period of time. The management of this growth will require, among other things, continued development of our financial and management controls and management information systems, stringent control of costs, the ability to attract and retain qualified management personnel and the training of new personnel. Failure to successfully manage our possible growth and development could have a material adverse effect on our business.

 

There is a risk that some or all of the anticipated strategic and financial benefits may fail to materialize, may not continue on their existing terms, or may not occur within the time period anticipated. Although we have conducted due diligence with respect to material aspects of the development of our business, there is no certainty that our due diligence procedures will reveal all of the risks and liabilities associated with our current plans. Although we are not aware of any specific liabilities, such liabilities may be unknown and, accordingly, the potential monetary cost of such liability is also unknown.

 

We may fail to effectively integrate acquired businesses into our operations or otherwise fail to realize the anticipated benefits of the acquisitions.

 

If we fail to accurately assess and successfully integrate any recent or future acquisitions, we may not achieve the anticipated benefits, which could result in lower revenue, unanticipated operating expenses, and financial losses. Successful integration involves many challenges, including:

 

 

the difficulty of integrating acquired operations and personnel with our existing operations;

 

the difficulty of developing, manufacturing, and marketing new products and services;

 

the diversion of our management’s attention as a result of evaluating, negotiating and integrating acquisitions;

 

in some cases, our exposure to unforeseen liabilities of acquired companies; and

 

the loss of key employees of an acquired business operation.

 

In addition, an acquisition could adversely impact cash flows, operating results, and stockholder interests, for many reasons, including:

 

 

contingent consideration payments;

 

the issuance of securities in connection with an acquisition or new business venture that dilutes or lessens the rights of our current stockholders;

 

charges to our income to reflect the impairment of acquired intangible assets, including goodwill; and

 

interest costs and debt service requirements for any debt incurred in connection with an acquisition or new business venture.

 

The anticipated benefit of any of our acquisitions may never materialize. Future acquisitions could result in potentially dilutive issuances of our equity securities, the incurrence of debt, contingent liabilities or amortization expenses, or write-offs of goodwill, any of which could harm our financial condition. Future acquisitions may require us to obtain additional equity or debt financing, which may not be available on favorable terms, or at all.

 

RISKS RELATED TO OUR MARKETS

 

Our sales are affected by the cyclicality of the semi market, which causes our operating results to fluctuate significantly.

 

A significant portion of our business depends upon the capital expenditures of semiconductor manufacturers. Capital expenditures by these companies depend upon, among other things, the current and anticipated market demand for semiconductors and the products that utilize them. Typically, semiconductor manufacturers curtail capital expenditures during periods of economic downturn. Conversely, semiconductor manufacturers increase capital expenditures when market demand requires the addition of new or expanded production capabilities or the reconfiguration of existing fabrication facilities to accommodate new products. These market changes have contributed in the past, and will likely continue to contribute in the future, to fluctuations in our operating results.

 

16

 

We seek to further diversify the markets for our products in order to increase the proportion of our sales attributable to markets which are less subject to cyclicality than the semi market. If we are unable to do so, our future performance will remain substantially exposed to the fluctuations of the cyclicality of the semi market.

 

We sell certain of our products in markets other than the semi market, including the automotive, defense/aerospace, industrial, life sciences and security markets. During 2023 and 2022, our sales to markets other than the semi market were $57.6 million and $48.4 million, respectively, and represented 47% and 42% of our consolidated revenue, respectively. Our goal is to increase our sales to markets other than the semi market; however, in most cases, the expansion of our product sales into these new markets has occurred in the last several years, and we may experience difficulty in expanding our sales efforts further into these markets. These difficulties could include hiring sales and marketing staff with sufficient experience selling into these new markets and our ability to continue to develop products which meet the needs of customers in these markets and which are not currently offered by our competitors. In addition, due to the highly specialized nature of certain of our product offerings in these markets, we do not expect broad market penetration in many of these markets. If we are unable to expand these sales, our revenue and results of operations will remain substantially dependent upon the cycles of the semi market.

 

RISKS RELATED TO OUR BUSINESS OPERATIONS

 

If our suppliers do not meet product or delivery requirements, or inflationary pressures continue to increase and we cannot increase our prices to our customers, we could have reduced revenues and earnings.

 

During 2022, as global supply chain constraints became more pronounced, we experienced price increases and lack of availability from several of our normal suppliers for the materials needed to produce our products in a timely manner and/or with the level of margins we typically expect to achieve. While the global supply chain seems to have returned to a more normalized state as of the end of 2023, certain components of our products may continue to be in short supply from time to time because of high demand or the inability of some vendors to consistently meet our quality or delivery requirements. A significant portion of our material purchases require some custom work, and there are not always multiple suppliers capable of performing such custom work on a timely or cost-effective basis. If any of our suppliers were to cancel commitments or fail to meet quality or delivery requirements needed to satisfy customer orders for our products, we could lose time-sensitive customer orders, have reduced revenues and earnings, experience reputational harm and be subject to contractual penalties, any of which could have a material adverse effect on our business, results of operations and financial condition. Additionally, we may not be able to raise our prices to our customers in an amount or timeframe sufficient to offset the increases in price we are experiencing from our suppliers. This could result in a reduction in our earnings in future periods.

 

A breach of our operational or security systems could negatively affect our business, our reputation and results of operations.

 

We rely on various information technology networks and systems, some of which are managed by third parties, to process, transmit and store electronic information, including confidential data, and to carry out and support a variety of business activities, including manufacturing, research and development, supply chain management, sales and accounting. A failure in, or a breach of, our operational or security systems or infrastructure, or those of our suppliers and other service providers, including as a result of cyberattacks, could disrupt our business, result in the disclosure or misuse of proprietary or confidential information, result in litigation, damage our reputation, cause losses and significantly increase our costs. Although we have been and continue to be the target of security breaches, we have not experienced material losses to date related to such incidents. Nevertheless, there can be no assurance that we will not suffer such losses in the future. In addition, domestic and international regulatory agencies have implemented, and are continuing to implement, various reporting and remediation requirements that companies must comply with upon learning of a breach. While we have insurance that may protect us from incurring some of these costs, there is no assurance that such insurance coverage is adequate to cover all costs and damages incurred in connection with a cyberattack. 

 

We are subject to significant environmental, health and safety laws and regulations and related compliance expenditures and liabilities.

 

Our businesses are subject to many foreign, federal, state and local environmental, health and safety laws and regulations, particularly with respect to the use, handling, treatment, storage, discharge and disposal of substances and hazardous wastes used or generated in our manufacturing processes. Compliance with these laws and regulations is a significant factor in our business. We have incurred and expect to continue to incur significant expenditures to comply with applicable environmental laws and regulations. Our failure to comply with applicable environmental laws and regulations and permit requirements could result in civil or criminal fines or penalties or enforcement actions, including regulatory or judicial orders enjoining or curtailing operations or requiring corrective measures, installation of pollution control equipment or remedial actions.

 

We expect to continue to be subject to increasingly stringent environmental and health and safety laws and regulations. It is difficult to predict the future interpretation and development of environmental and health and safety laws and regulations or their impact on our future earnings and operations. We anticipate that compliance will continue to require increased capital expenditures and operating costs. Any increase in these costs, or unanticipated liabilities arising from, among other things, discovery of previously unknown conditions or more aggressive enforcement actions, could adversely affect our results of operations, and there is no assurance that they will not exceed our reserves or have a material adverse effect on our financial condition.

 

17

 

We have identified a material weakness in our internal control over financial reporting, and if our remediation of such material weakness is not effective, or if we fail to develop and maintain an effective system of disclosure controls and internal control over financial reporting, our ability to produce timely and accurate financial statements or comply with applicable laws and regulations could be impaired.

 

We determined that our internal control over financial reporting and disclosure controls and procedures were not effective as of September 30, 2023 as a result of the material weakness related to recognition of revenue related to the sale of discontinued material/components purchased on behalf of customers where the associated materials/components were still physically located with us and the materials/components are expected to be applied to future product orders for these customers, as discussed in Part II, Item 9A of this Annual Report on Form 10-K. This material weakness has not been remediated and accordingly our internal control over financial reporting and disclosure controls and procedures remains ineffective. Management is actively engaged in the planning for, and implementation of, remediation efforts to address our material weakness but there can be no assurance that those efforts will be successful. Refer to Part II, Item 9A for further details of the material weakness and remediation efforts.

 

A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting such that there is a reasonable possibility that a material misstatement of a company's annual or interim financial statements will not be prevented or detected on a timely basis.

 

As such, if we do not remediate this material weakness in a timely manner, or if additional material weaknesses in our internal control over financial reporting are discovered, they may adversely affect our ability to record, process, summarize and report financial information timely and accurately and our financial statements may contain material misstatements or omissions. Additionally, our internal control environment and remediation efforts do not provide absolute assurance with regard to timely detecting or preventing control deficiencies and thus do not insulate us from any failure to meet our financial reporting obligations.

 

It is possible that additional control deficiencies could be identified by our management or by our independent registered public accounting firm in the future or may occur without being identified. Such a failure could require us to incur the expense of remediation, result in regulatory scrutiny, investigations or enforcement actions, cause investors to lose confidence in our reported financial condition and have a negative effect on the trading price of our common stock, lead to a default under our indebtedness, and otherwise have a material adverse effect on our business, financial condition, results of operations, and cash flows.

 

Further, if we are unable to conclude that our internal control over financial reporting is effective, or, if and when required, our independent registered public accounting firm is unable to express an unqualified opinion as to the effectiveness of our internal control over financial reporting, investors may lose confidence in the accuracy and completeness of our financial statements, the market price of our common stock could be adversely affected, our common stock could become subject to delisting and we could become subject to litigation or investigations by the stock exchange or exchanges on which our securities are listed, the SEC or other regulatory authorities, any of which could require additional financial and management resources.

 

We cannot assure you that the measures we have taken to date, and actions we may take in the future, will be sufficient to remediate the control deficiencies that led to our material weaknesses in our internal control over financial reporting or that they will prevent or avoid potential future material weaknesses. Our current controls and any new controls that we develop may become inadequate because of changes in conditions in our business. Further, weaknesses in our disclosure controls and internal control over financial reporting may be discovered in the future. Any failure to develop or maintain effective controls or any difficulties encountered in their implementation or improvement could harm our operating results or cause us to fail to meet our reporting obligations and may result in a restatement of financial statements for prior periods.

 

Our business may suffer if we are unable to attract and retain key employees or hire personnel at the costs we currently project.

 

Our future success will depend largely upon the continued services of our senior management and other key employees or the development of successors with commensurate skills and talents in a timely fashion and at the costs we project. If we cannot continue to increase employee salaries and maintain employee benefits commensurate with competitive opportunities, we may not be able to retain our senior management and other key employees. The loss of key personnel could adversely affect our ability to manage our business effectively and could increase our costs in future periods.

 

We have recently experienced difficulty in hiring personnel at the costs projected in our forecasts. This has resulted in the need to increase the labor rates offered for certain positions. If we cannot find savings in other areas or increase the price for which we sell our products in an amount sufficient to cover these additional labor costs, we may experience reduced margins in future periods.

 

We have experienced and may continue to experience significant variability in our effective tax rates and may have exposure to additional tax liabilities and costs.

We are subject to income taxes in the U.S. and various other countries in which we operate. Our effective tax rate is dependent on where our earnings are generated and the tax regulations and the interpretation and judgment of administrative tax or revenue entities in the U.S. and other countries. We are also subject to tax audits in the countries where we operate. Any material assessment resulting from an audit from an administrative tax or revenue entity could negatively affect our financial results.

 

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. See “Management's Discussion and Analysis of Financial Condition and Results of Operations – Overview – Credit Facility” and Note 10 to our consolidated financial statements in this Report for a discussion of the material terms of our credit facility.

 

18

 

We hold our cash and cash equivalents that we use to meet our working capital needs in deposit accounts that could be adversely affected if the financial institutions holding such funds fail.

 

We hold our cash and cash equivalents that we use to meet our working capital needs in deposit accounts at multiple financial institutions. The balance held in these accounts may exceed the Federal Deposit Insurance Corporation ("FDIC"), standard deposit insurance limit or similar government guarantee schemes. If a financial institution in which we hold such funds fails or is subject to significant adverse conditions in the financial or credit markets, we could be subject to a risk of loss of all or a portion of such uninsured funds or be subject to a delay in accessing all or a portion of such uninsured funds. Any such loss or lack of access to these funds could adversely impact our short-term liquidity and ability to meet our obligations.

 

For example, on March 10, 2023, Silicon Valley Bank ("SVB"), and on March 12, 2023, Signature Bank, were closed by state regulators and the FDIC was appointed receiver for each bank. The FDIC created successor bridge banks and all deposits of SVB and Signature Bank were transferred to the bridge banks under a systemic risk exception approved by the United States Department of the Treasury, the Federal Reserve and the FDIC. If financial institutions in which we hold funds for working capital were to fail, we cannot provide any assurances that such governmental agencies would take action to protect our uninsured deposits in a similar manner.

 

We also maintain investment accounts with other financial institutions in which we hold our investments and, if access to the funds we use for working capital is impaired, we may not be able to sell investments or transfer funds from our investment accounts to new accounts on a timely basis sufficient to meet our working capital needs.

 

We face risks associated with doing business in China.

 

We conduct sales and other business operations in China, as a result, the economic, political, legal and social conditions in China could harm our business. In recent years, the Chinese economy has experienced periods of rapid expansion and high rates of inflation. These factors have led to the adoption by the Chinese government, from time to time, of various corrective measures designed to restrict the availability of credit or regulate growth and contain inflation. Various factors may in the future cause the Chinese government to impose controls on credit or prices, or to take other action, which could inhibit economic activity in China, and thereby harm the market for our products. In addition, the legal system in China has inherent uncertainties that may limit the legal protections available in the event of any claims or disputes that we have with third parties, including our ability to protect the intellectual property we develop in China or elsewhere. As China's legal system is still evolving, the interpretation of many laws, regulations and rules is not always uniform and enforcement of these laws, regulations and rules involve uncertainties, which may limit the remedies available in the event of any claims or disputes with third parties. In addition, any litigation in China may be protracted and result in substantial costs and diversion of resources and management attention. Some of the other risks related to doing business in China include:

 

 

The Chinese government exerts substantial influence over the manner in which we must conduct our business activities;

 

Restrictions on currency exchange may limit our ability to receive, transfer and use our cash effectively;

 

Increased uncertainties related to the enforcement of intellectual property rights including any intellectual property rights that we may license to a Chinese (or other emerging jurisdiction) entity, including any joint ventures we may form;

 

Increased uncertainties relating to Chinese regulation of exports of products and technology to and from China;

 

Increased and rapidly changing export and related trade regulations and restrictions imposed by U.S. and Chinese legislation, executive actions and regulations;

 

Difficulty of travel to and from China (and to and from United States) arising from or related to the COVID-19 pandemic or any future pandemic;

 

The Chinese government may favor its local businesses and make it more difficult for foreign businesses to operate in China on an equal footing, or create generally difficult conditions for foreign headquartered businesses to operate;

 

Increased uncertainties related to the enforcement of contracts with certain parties;

 

More restrictive rules on foreign investment could adversely affect our ability to expand our operations in China; and

 

Geopolitical tensions between China on the one hand and the United States and/or the European Union on the other hand, may increase and may lead to increased export sanctions with Chinese entities and sanctions made against China.

 

As a result of our growing operations in China, these risks could harm our business.

 

We face political and other risks conducting business in Taiwan particularly due to their tense relationships with China.

 

We have customers located in Taiwan. Accordingly, our business, financial condition and results of operations may be affected by changes in governmental and economic policies in Taiwan, social instability and diplomatic and social developments in or affecting Taiwan due to its unique international political status. Although significant economic and cultural relations have been established between Taiwan and China, we cannot assure that relations between Taiwan and China will not face political or economic uncertainties in the future. Any deterioration in the relations between Taiwan and China, and other factors affecting military, political or economic conditions in Taiwan, could disrupt our business operations and materially and adversely affect our results of operations.

 

19

 

RISKS RELATED TO OUR CUSTOMER BASE

 

Changes in the buying patterns of our customers have affected, and may continue to affect, demand for our products and our gross and net operating margins. Such changes in patterns are difficult to predict and may not be immediately apparent.

 

In addition to the cyclicality of the semi market, demand for our products and our gross and net operating margins have also been affected by changes in the buying patterns of our customers. Some of the changes in customer buying patterns that have impacted us in the past, and may continue to do so in the future, have included customers placing heightened emphasis on shorter lead times (which places increased demands on our available engineering and production capacity and may result in increasing unit costs) and ordering in smaller quantities (which prevents us from acquiring component materials in larger volumes at lower unit costs.) We have also experienced customer supply chain management groups demanding lower prices and spreading purchases across multiple vendors. We believe some of the changes in customer buying patterns are the result of changes within the semi market over the last several years, including, for example, changing product requirements and longer time periods between new product offerings by OEMs. Such shifts in market practices have had, and may continue to have, varying degrees of impact on our revenue and our gross and net operating margins. Such shifts are difficult to predict and may not be immediately apparent, and the impact of these practices is difficult to quantify from period to period. There can be no assurance that we will be successful in implementing effective strategies to counter these shifts. 

 

We generate a large portion of our sales from a small number of customers. If we were to lose one or more of our large customers, our operating results could suffer dramatically.

 

During the year ended December 31, 2023, one customer accounted for 13% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. During the year ended December 31, 2023, no other customer accounted for 10% or more of our consolidated revenue. During the year ended December 31, 2022, no customer accounted for 10% or more of our consolidated revenue. During the years ended December 31, 2023 and 2022, our ten largest customers accounted for approximately 42% and 43% of our consolidated revenue, respectively. The loss of any one or more of our largest customers, or a reduction in orders by a major customer could materially reduce our net revenues or otherwise materially affect our business, financial condition or results of operations.

 

RISKS RELATED TO COMPETITION

 

Our business is subject to intense competition, which has in the past and could in the future, materially adversely affect our business, financial condition and results of operations.

We face significant competition throughout the world in each of our operating segments. Some of our competitors have substantial financial resources and more extensive design and production capabilities than us. Some of our competitors are much smaller than we are, and therefore have much lower levels of overhead than us, which enables them to sell their competing products at lower prices. In order to remain competitive, we must continually commit a significant portion of our personnel and financial resources to developing new products and maintaining customer satisfaction worldwide. We expect our competitors to continue to improve the performance of their current products and introduce new products or technologies. In the recent past, in response to significant declines in global demand for our products, some competitors have reduced their product pricing significantly, which has led to intensified price-based competition, which has and could continue to materially adversely affect our business, financial condition and results of operations. 

 

Our markets are subject to rapid technological change, and our business prospects would be negatively affected if we are unable to quickly and effectively respond to innovation in the semi market or other markets that we serve.

 

Technology, including semiconductor technology, continues to become more complex as the pace of innovation and development of new technology increases. In addition, manufacturers are incorporating ICs into an increasing variety of products. This trend, including the changes needed in automated testing systems to respond to developments in the semiconductor market, are likely to continue. We cannot be certain that we will be successful or timely in developing, manufacturing or selling products that will satisfy customer needs or that will attain market acceptance. Our failure to provide products that effectively and timely meet customer needs or gain market acceptance will negatively affect our business prospects.

 

RISKS RELATED TO FOREIGN OPERATIONS

 

The current conflict in the Ukraine could disrupt our supply chain or cause other adverse effects on our revenue and earnings.

 

In late February 2022, Russia initiated significant military action against Ukraine. In response, the U.S. and certain other countries imposed significant sanctions and trade actions against Russia. The U.S. and certain other countries could impose further sanctions, trade restrictions and other retaliatory actions should the conflict continue or worsen. It is not possible to predict the broader consequences of the conflict, including related geopolitical tensions, and the measures and retaliatory actions taken by the U.S. and other countries in respect thereof, as well as any counter measures or retaliatory actions by Russia in response. The continuing conflict has caused regional instability and could cause geopolitical shifts and could materially adversely affect global trade, currency exchange rates, regional economies and the global economy, which could materially adversely affect our financial condition or results of operations. In addition, the conflict and actions taken in response to the conflict could increase our costs or disrupt our supply chain for certain material which Acculogic currently primarily acquires from one supplier in Belarus. If we cannot source this material from alternate suppliers for similar costs, our revenue and earnings could be adversely affected.

 

20

 

We have a sole source supplier of components in Israel and the current Hamas-Israel conflict could disrupt our supply chain or cause other adverse effects on our revenue and earnings.

 

In early October 2023, Hamas attacked Israel and Israel formally declared war in response to the attack. The conflict is ongoing, and it is unclear when it might end. The continuing conflict is likely to cause regional instability and could materially adversely affect global trade, regional economies and the global economy, which could materially adversely affect our financial condition and results of operations. Our subsidiary, 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 not viable alternatives available. There can be no assurance that the situation will not worsen, which could impact our ability to assemble and ship certain of our induction heating products which could have a material impact on our results of operations in future periods.

A substantial portion of our customers are located outside the U.S., which exposes us to foreign political and economic risks.

 

We have operated internationally for many years and expect to expand our international operations to continue expansion of our sales and service to our non-U.S. customers. Our foreign subsidiaries generated 24% and 19% of consolidated revenue in 2023 and 2022, respectively. Revenue from foreign customers totaled $78.1 million, or 63% of consolidated revenue in 2023, and $67.7 million, or 58% of consolidated revenue in 2022. We expect our revenue from foreign customers will continue to represent a significant portion of total revenue. In addition to the risks generally associated with sales and operations in the U.S., sales to customers outside the U.S. and operations in foreign countries are subject to additional risks, which may, in the future, affect our operations. These risks include:

 

 

the effects of certain foreign customers being added to the list of restricted customers by the U.S. Department of Commerce;

 

the implementation of trade tariffs by the U.S. and other countries that would impact our products;

 

political and economic instability in foreign countries;

 

the imposition of financial and operational controls and regulatory restrictions by foreign governments;

 

the need to comply with a wide variety of U.S. and foreign import and export laws;

 

local business and cultural factors that differ from our normal standards and practices, including business practices that we are prohibited from engaging in by the Foreign Corrupt Practices Act and other anti-corruption laws and regulations;

 

trade restrictions;

 

changes in taxes;

 

longer payment cycles;

 

fluctuations in currency exchange rates; and

 

the greater difficulty of administering business abroad.

 

A significant portion of our cash position is maintained overseas and we may not be able to repatriate cash from overseas when necessary, which could have an adverse effect on our financial condition.

While much of our cash is in the U.S., a significant portion is generated from and maintained by our foreign operations. At December 31, 2023, $5.8 million, or 13% of our cash and cash equivalents was held by our foreign subsidiaries. Our financial condition and results of operations could be adversely impacted if we are unable to maintain a sufficient level of cash flow in the U.S. to address our cash requirements and if we are unable to efficiently and timely repatriate cash from overseas. Any payment of distributions, loans or advances to us by our foreign subsidiaries could be subject to restrictions on, or taxation of, dividends or repatriation of earnings under applicable local law, monetary transfer restrictions and foreign currency exchange regulations in the jurisdictions in which our subsidiaries operate. If we are unable to repatriate the earnings of our subsidiaries, it could have an adverse impact on our ability to redeploy earnings in other jurisdictions where they could be used more profitably.

 

RISKS RELATED TO INTELLECTUAL PROPERTY

 

Claims of intellectual property infringement by or against us could seriously harm our businesses.

From time to time, we may be forced to respond to or prosecute intellectual property infringement claims to defend or protect our rights or a customer's rights. These claims, regardless of merit, may consume valuable management time, result in costly litigation or cause product shipment delays. Any of these factors could seriously harm our business and operating results. We may have to enter into royalty or licensing agreements with third parties who claim infringement. These royalty or licensing agreements, if available, may be costly to us. If we are unable to enter into royalty or licensing agreements with satisfactory terms, our business could suffer. In instances where we have had reason to believe that we may be infringing the patent rights of others, or that someone may be infringing our patent rights, we have asked our patent counsel to evaluate the validity of the patents in question, as well as the potentially infringing conduct. If we become involved in a dispute, neither the third parties nor the courts are bound by our counsel's conclusions. 

 

21

 

If we are unable to protect our intellectual property, we may lose a valuable asset or may incur costly litigation to protect our rights.

 

We protect the technology that is incorporated in our products in several ways, including through patent, copyright, trademark and trade secret protection and by contractual agreement. However, even with these protections, our intellectual property may still be challenged, invalidated or subject to other infringement actions. While we believe that our intellectual property has value in the aggregate, no single element of our intellectual property is in itself essential. If a significant portion of our intellectual property is invalidated or ineffective, our business could be materially adversely affected.

 

RISKS RELATED TO OUR OPERATING RESULTS AND STOCK PRICE

 

Our operating results often change significantly from quarter to quarter and may cause fluctuations in our stock price.

Historically, our operating results have fluctuated significantly from quarter to quarter. We believe that these fluctuations occur primarily due to the cycles of demand in the semiconductor manufacturing industry. In addition to these changing cycles of demand, other factors that have caused our quarterly operating results to fluctuate in the past or that may cause fluctuations and losses in the future, include:

 

 

costs related to due diligence and transaction-related expenses for a proposed acquisition that does not get completed;

 

costs and timing of integration of our acquisitions and plant consolidations and relocations;

 

changes in demand in the markets we serve including the automotive, defense/aerospace, industrial, life sciences and security markets;

 

the state of the U.S. and global economies;

 

changes in the buying patterns of our customers including any changes in the rate of, and timing of, purchases by our customers;

 

the impact of interruptions in our supply chain caused by external factors;

 

changes in our market share;

 

the impact of COVID-19 or any other pandemic on our business;

 

the technological obsolescence of our inventories;

 

quantities of our inventories greater than is reasonably likely to be utilized in future periods;

 

fluctuations in the level of product warranty charges;

 

competitive pricing pressures;

 

excess manufacturing capacity;

 

our ability to control operating costs;

 

delays in shipments of our products;

 

the mix of our products sold;

 

the mix of customers and geographic regions where we sell our products;

 

changes in the level of our fixed costs;

 

costs associated with the development of our proprietary technology;

 

our ability to obtain raw materials or fabricated parts when needed;

 

increases in costs of component materials;

 

cancellation or rescheduling of orders by our customers;

 

changes in government regulations; and

 

geopolitical instability.

 

Because the market price of our common stock has tended to vary based on, and in relation to, changes in our operating results, fluctuations in the market price of our stock are likely to continue as variations in our quarterly results continue.

 

Item 1B.

UNRESOLVED STAFF COMMENTS

 

None.

 

22

 

Item 1C.

CYBERSECURITY

 

Cyber Security Governance

 

Oversight of cybersecurity risks by management is led by our Information Technology (“IT”) Committee, which is chaired by our Director of IT and comprised of members of senior management including our Chief Executive Officer and Chief Financial Officer. Among its responsibilities, the IT Committee identifies our material cyber risks and reviews the strategies, processes and controls in place to facilitate the understanding, identification, prevention, measurement, reporting and mitigation of those risks. The IT Committee meets quarterly to review our cyber risk management strategy. A member of the Board attends these meetings as an observer.

 

The Board and senior management provide general oversight and support to the IT Committee. The Board periodically reviews, appraises and discusses with management the effectiveness of our information technology security, data privacy and cyber security and related risks.

 

Risk Management and Strategy

 

Cybersecurity is a key component of our overall risk management system. We are implementing processes that are designed to effectively manage risks from cybersecurity threats. The IT Committee currently has in place an Incident Response Plan (the “IRP”). The IRP lays out our guidelines for responding to and handling cyber incidents. The IRP helps to ensure a quick and organized response in the event of a cyber incident and helps ensure all necessary members of management, the Board and legal counsel are informed so action can be taken as soon as possible. Under the IRP, once a cyber incident is identified, a response team will review the details of the cyber incident, inform management and the Board and work to secure our systems and fix the vulnerability. An investigation will be conducted, with the assistance of third-party consultants if needed, to determine the root cause of the cyber incident, the materiality of the cyber incident, and any disclosure or legal obligations that will stem from the cyber incident.

 

To help prevent cyber security incidents we have integrated a number of third-party services into our IT systems to bolster our cyber security defenses. These services include a detection and response system which provides continuous monitoring of our IT systems, end-point protection on all of our computers and connected devices, as well as two-step verification for accessing our systems. We also engage a third-party consultant with experience in cyber defense to review our IRP to ensure it meets current standards and best practices.

 

We have been the victim of cyber incidents and may be the subject of cyber incidents in the future. See Item 1A, Risk Factors for more information about the risk posed to us by cybersecurity threats. 

 

Item 2.

PROPERTIES

 

At December 31, 2023, we leased thirteen facilities worldwide. The following chart provides information regarding each of our principal facilities that we leased at December 31, 2023:

 

Location

 

Lease
Expiration

 

Approx.
Square
Footage

 

Principal Uses

Rochester, NY

 

April 2028

 

79,150

 

Process Technologies segment operations (principal facility for Ambrell)

Mansfield, MA

 

December 2024

 

52,700

 

Environmental Technologies segment operations (principal facility for iTS), Process Technologies segment operations (principal facility for Videology)

Mt. Laurel, NJ

 

April 2031

 

33,650

 

Corporate headquarters and Electronic Test segment operations

Penang, Malaysia

 

March 2027(1)

 

25,000

 

Applications engineering, product development and localized manufacturing for nearly all inTEST brands

Ontario, Canada

 

February 2028

 

16,437

 

Electronic Test segment operations (primary facility for Acculogic Inc.)

Fremont, CA

 

November 2025(2)

 

15,746

 

Formerly Electronic Test segment sales and engineering

 

All of our facilities have space to accommodate our needs for the foreseeable future.

 

 

(1)

Expected to commence operations in the second half of 2024.

 

(2)

During the fourth quarter of 2020, we consolidated all manufacturing operations for our EMS segment into our facility in Mt. Laurel, New Jersey, as more fully discussed in Note 5 to our consolidated financial statements for the year ended December 31, 2022 in our Annual Report on Form 10-K that was filed with the SEC on March 22, 2023. In August 2021, we subleased this facility for the balance of the term.

 

As described further in Item 1, “Business—Acquisition,” effective March 12, 2024, in connection with our acquisition of Alfamation, we leased an additional facility for that operation. That facility is approximately 51,817 square feet and is located in Milan, Italy. The initial lease term expires on March 12, 2030, and renews automatically unless terminated by either party.

 

23

 

Item 3.

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.

 

Item 4.

MINE SAFETY DISCLOSURES

 

Not applicable. 

 

 

PART II

 

Item 5.

MARKET FOR REGISTRANT'S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES

 

Market for Common Stock
 

Our common stock is traded on NYSE American LLC (“NYSE American”) under the symbol "INTT." On March 1, 2024, the closing price for our common stock as reported on the NYSE American was $12.16. At March 1, we had 12,164,698 shares outstanding that were held by approximately 1,000 beneficial and record holders.

 

No dividends were paid on our common stock in the years ended December 31, 2023 or 2022. We do not currently plan to pay cash dividends in the foreseeable future. Our current policy is to use any future earnings for reinvestment in the operation and expansion of our business, including possible acquisitions of other businesses, technologies or products and, when approved by our Board of Directors, to repurchase our outstanding common stock. Payment of any future dividends will be at the discretion of our Board of Directors.

Purchases of Equity Securities

 

There were no shares of our common stock repurchased by us or on our behalf during the three months ended December 31, 2023.

 

On November 20, 2023, our Board of Directors authorized a 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 million until November 2024. 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. As of December 31, 2023, no shares had been repurchased under the Repurchase Plan.

 

Securities Authorized for Issuance Under Equity Compensation Plan

 

Information regarding securities authorized for issuance under equity compensation plans is included in Item 12. “Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters” under the caption “Equity Compensation Plan Information.”

 

Item 6.

RESERVED

 

 

Item 7.

MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

 

The following discussion and analysis of our financial condition and results of operations and quantitative and qualitative disclosures should be read in conjunction with our audited consolidated financial statements and related notes included in this Annual Report on Form 10-K for the year ended December 31, 2023. In addition, please refer to the discussion of our business and markets contained in Part I, Item 1 of this Report. Management's Discussion and Analysis of Financial Condition and Results of Operations contains a number of forward-looking statements that reflect our plans, estimates, and beliefs, all of which are based on our current expectations and could be affected by certain uncertainties, risks, and other factors described under Cautionary Statement Regarding Forward-Looking Statements, Risk Factors, and elsewhere throughout this Annual Report. Our actual results could differ materially from those discussed in the forward-looking statements or from our prior results.

 

24

 

Overview
 

We are a global supplier of innovative test and process solutions for use in manufacturing and testing across a wide range of markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. 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), 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 “Markets”, we are focused on specific target markets which include automotive, defense/aerospace, industrial, life sciences, 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 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.

 

In the past, the semi market has been 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. 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. 

 

25

 

As discussed further in Part I, Item 1 “Overview and Strategy”, 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 automotive, defense/aerospace, industrial, life sciences and 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.

 

Acquisition

 

On March 12, 2024 we entered into a stock purchase agreement to acquire all of the outstanding capital shares of Alfamation S.p.A., (“Alfamation”), a leading global provider of state-of-the-art test and measurement solutions for the automotive, life sciences and specialty consumer electronics markets. Alfamation was founded in 1991 and is headquartered in Milan, Italy. Alfamation also has a small sales and service subsidiary based in Suzhou City, China. Alfamation will become a part of our Electronic Test operating segment. The aggregate purchase price was approximately €20 million comprised of approximately €18 million in cash, 187,432 shares of our common stock and an additional approximately €542,000 in cash for assets delivered at closing in excess of agreed upon thresholds. On the closing date, this equated to a total purchase price of approximately $22.4 million.

 

In connection with the acquisition, we have entered into a lease agreement (the “Lease Agreement”) with the former owner of Alfamation. The Lease Agreement will last for six years starting on March 12, 2024 and will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Lease Agreement, Alfamation will lease warehouse and office space totaling about 51,817 square feet. Alfamation will pay a yearly lease payment of €231,312 broken up into four equal payments. At the date of the signing of the Lease Agreement, the yearly lease payment equated to approximately $253,000.

 

Revenue

The following table sets forth, for the periods indicated, a breakdown of the revenue by market (in thousands).

 

($ in 000s)

 

Years Ended

 
                                   

Change

 
   

12/31/2023

   

12/31/2022

   

$

   

%

 

Revenue

                                               

Semi

  $ 65,735       53.3 %   $ 68,422       58.6 %   $ (2,687 )     -3.9 %

Industrial

    14,310       11.6 %     10,038       8.6 %     4,272       42.6 %

Automotive/EV

    9,895       8.0 %     10,776       9.2 %     (881 )     -8.2 %

Life Sciences

    4,856       3.9 %     4,589       3.9 %     267       5.8 %

Defense/Aerospace

    12,537       10.2 %     7,006       6.0 %     5,531       78.9 %

Security

    3,688       3.0 %     3,241       2.8 %     447       13.8 %

Other

    12,281       10.0 %     12,756       10.9 %     (475 )     -3.7 %
    $ 123,302       100.0 %   $ 116,828       100.0 %   $ 6,474       5.5 %

 

Total consolidated revenue for the year ended December 31, 2023 was $123.3 million compared to $116.8 million in 2022, an increase of $6.5 million or 6%. The increase in revenue for 2023 as compared to 2022 primarily reflects increased demand for our thermal test solutions from customers in the defense/aerospace and industrial markets, and, to a lesser extent, increased demand for our induction heating solutions from customers in the industrial market. These increases were partially offset by declines in demand from the semi market. While demand from our customers in both the front-end and back-end of the semi market remained strong throughout most of 2023, we experienced declines in revenue from both these sectors of the semi market in the fourth quarter of 2023. We attribute these declines to the cyclical slowdown in the semi market which has been impacting this market as a whole for most of 2023 but which had not yet impacted us significantly as certain specific customers to which we sell many of our products in this market had continued to place orders with us.

 

 

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.

 

26

 

The following table sets forth, for the periods indicated, a breakdown of the orders received by market (in thousands).

 

   

Years Ended
December 31,

   

Change

 
   

2023

   

2022

   

$

   

%

 

Orders:

                               

Semi

  $ 59,297     $ 73,070     $ (13,773 )     -18.8 %

Industrial

    14,980       10,554       4,426       41.9 %

Auto/EV

    10,193       9,899       294       3.0 %

Life Sciences

    4,353       5,705       (1,352 )     -23.7 %

Defense/Aerospace

    13,386       10,261       3,125       30.5 %

Security

    2,945       4,386       (1,441 )     -32.9 %

Other

    11,478       15,701       (4,223 )     -26.9 %
    $ 116,632     $ 129,576     $ (12,944 )     -10.0 %

 

Total consolidated orders for the year ended December 31, 2023 were $116.6 million compared to $129.6 million in 2022, a decrease of $12.9 million, or 10%. Our orders from the semi market decreased $13.8 million, primarily reflecting the aforementioned decline in demand in this market in 2023, which impacted us most significantly in the fourth quarter of the year. We also experienced declines in demand from the security and life sciences markets, as well as other markets we serve. These declines were partially offset by increases in demand from customers in the industrial and defense/aerospace markets.

 

At December 31, 2023, our backlog of unfilled orders for all products was approximately $40.1 million compared with approximately $46.8 million at December 31, 2022. The decrease in our backlog reflects reduced demand for our products and, to a lesser extent, lead times returning to a more normalized pattern. During 2022 our lead times were much longer than they have been historically as global supply chain challenges significantly impacted availability of products for both us and most of our customers. Our backlog includes customer orders that we have accepted, substantially all of which we expect to deliver in 2024. 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.

 

Israel-Hamas War, War in Ukraine and Global Supply Chain Constraints

 

In early October 2023, Hamas attacked Israel and Israel formally declared war in response to the attack. The conflict 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.

 

The ongoing war between Russia and Ukraine continues to contribute to global inflationary pressures and the availability of certain raw materials produced in that region, further exacerbating global supply chain challenges that emerged after the onset of the COVID-19 pandemic. Acculogic purchases certain material from a key sole-source supplier in Belarus, which is bordered by Russia to the east and northeast and Ukraine to the south. At present, we are still receiving shipments from this supplier, and we estimate that we have a six-to-nine-month supply of these parts that we are maintaining. We are currently in the process of qualifying an alternate supplier for these parts. We received prototype sample parts from the alternate supplier which we are now evaluating. We expect to complete this evaluation by the third quarter of 2024.

 

27

 

In addition, while the supply chain and logistics challenges that we encountered throughout 2022 have eased and conditions appear to have stabilized, uncertainty in the global trade environment and the possibility of future global health or other crises remain. 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 in this Report for further discussion of the risks associated with our business operations, including risks associated with foreign operations.

 

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.

 

Year Ended December 31, 2023 Compared to Year Ended December 31, 2022

 

Revenue. Revenue was $123.3 million for the year ended December 31, 2023 compared to $116.8 million in 2022, an increase of $6.5 million or 6%. We believe this increase reflects the factors previously discussed in the Overview section above.


Gross Margin. Gross margin was 46% in each of the years ended December 31, 2023 and 2022. During 2023, our fixed operating costs increased $1.6 million compared to 2022, however, these costs represented 12% of revenue in both 2023 and 2022 as they were better absorbed by the higher revenue levels in 2023. The $1.6 million increase primarily reflects higher levels of salary and benefits expense as we made headcount investments to support the higher revenue levels in 2023. To a lesser extent there were also increases in depreciation, reflecting a higher fixed asset base, and travel, reflecting the increased business activity.

 

Selling Expense. Selling expense was $17.6 million for the year ended December 31, 2023 compared to $15.9 million in 2022, an increase of $1.7 million or 11%. The increase primarily reflects higher salary and benefits expense, reflecting annual merit adjustments and additional headcount investments, along with higher levels of commission expense as a result of the growth in revenue in 2023. In addition, we incurred higher costs for travel and advertising as we increased the number of customer visits and trade show attendance as we work to continue to grow our business.

Engineering and Product Development Expense. Engineering and product development expense was $7.6 million for the year ended December 31, 2023 compared to $7.5 million in 2022, an increase of $89,000, or 1%, primarily reflecting an increase in materials used in product development projects and fees paid to third parties to assist in our development efforts. These increases were offset somewhat by a decrease in salary and benefits expense as we had open positions in 2023 that were filled in the comparable prior period. 

General and Administrative Expense. General and administrative expense was $21.3 million for the year ended December 31, 2023 compared to $19.3 million in 2022, an increase of $2.0 million, or 11%. This increase includes the impact of $1.2 million of costs for corporate development activities, a significant portion of which were incurred in the third quarter of 2023 related to an acquisition opportunity which we are no longer pursuing. In addition, we recorded higher levels of salary and benefits expense, reflecting annual merit adjustments and headcount investments. To a lesser extent there were also higher bonus accruals and stock-based compensation expense in 2023 as compared to 2022. These increases were partially offset by a reduction in amortization expense related to our acquired intangible assets and a reduction in the liability for contingent consideration related to the acquisition of Acculogic. The reduction in this liability reflects a decrease in the expected final payout amount, which is discussed more fully in the notes to our consolidated financial statements.

 

Other Income. For the year ended December 31, 2023, we recorded other income of $1.3 million compared to $59,000 for the same period in 2022, an increase of $1.2 million. The increase in other income was primarily the result of increased interest earned on our cash balances. This reflects both higher average cash balances as well as higher rates of return being earned.

 

Income Tax Expense. For the year ended December 31, 2023, we recorded income tax expense of $1.7 million in each of the years ended December 31, 2023 and 2022. Our effective tax rate was 15% for 2023 compared to 17% for 2022. On a quarterly basis, we record income tax expense or benefit based on the expected annualized effective tax rate for the various taxing jurisdictions in which we operate our businesses. See Note 11 to our consolidated financial statements for further detail of the difference between our effective tax rates in 2023 and 2022 and the statutory tax rate of 21%.

 

28

 

Liquidity and Capital Resources

As discussed more fully in the Overview, our business and results of operations are substantially dependent upon the demand for ATE by semiconductor manufacturers and companies that specialize in the testing of ICs. The cyclical and volatile nature of demand for ATE 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. 

Proceeds from Sale of Common Stock

 

On May 11, 2023, we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20.0 million between May 11, 2023 and May 31, 2023. We received net proceeds from the sale of these shares of $19.2 million after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.

 

Credit Facility

 

As discussed in Note 10 to our consolidated financial statements in this Report, on October 15, 2021, we entered into the Loan Agreement with M&T. The Loan Agreement includes a $25 million non-revolving delayed draw term note (the “Term Note”) and a $10 million revolving credit facility (the “Revolving Facility and together with the Term Note, the “Credit Facility”). The Credit Facility had a five year contract period that began on the Closing Date and expired on October 15, 2026, and draws under the Term Note were permissible for two years.

 

On September 20, 2022, we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note 1A. Under the Amended Loan Agreement, the maximum loan amount that we may borrow under the Term Note increased from $25 million to $50.5 million, which raises the available funding at December 31, 2023 to $30 million. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to September 19, 2027 (the “Contract Period”). At December 31, 2023, we had not borrowed any amounts under the $10 million Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement. 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 Amended 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 Amended Loan Agreement are secured by liens on substantially all of our tangible and intangible assets. At December 31, 2023, we were in compliance with all of the covenants included in the Credit Facility. At December 31, 2023, we were in compliance with debt covenants of the Amended Loan Agreement.

 

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 December 31, 2023, it was approximately 7.4% based on current leverage.

 

Interest expense for the years ended December 31, 2023 and 2022 was $679,000 and $635,000, respectively.

 

Liquidity

Our cash and cash equivalents and working capital were as follows (in thousands):

 

   

December 31,

 
   

2023

   

2022

 

Cash and cash equivalents

  $ 45,260     $ 13,434  

Working capital

  $ 61,479     $ 33,182  

 

29

 

At December 31, 2023, $5.8 million, or 13%, 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 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 anticipate making investments in our business in the next twelve months including hiring of additional staff, updates to our systems and investments related to our geographic and market expansion efforts. We estimate that our minimum 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.

 

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 to our consolidated financial statements in this Report. 

 

Cash Flows

 

Operating Activities. Net cash provided by operations for the year ended December 31, 2023 was $16.2 million. For the year ended December 31, 2023, we recorded net earnings of $9.3 million. During this same period, we had non-cash charges of $4.7 million for depreciation and amortization (which included $1.6 million of amortization related to right-of-use (“ROU”) assets and $2.0 million for deferred compensation expense related to stock-based awards. We also recorded a $1.2 million deferred income tax benefit during 2023. Accounts receivable decreased $3.0 million, inventories decreased $2.0 million and accounts payable decreased $1.8 million during 2023, reflecting the slowing in the level of business activity in the fourth quarter of 2023 and a return to a more normalized supply chain where we were not needing to purchase inventory as far in advance as we had been at the end of 2022. Operating lease liabilities decreased $1.7 million during 2023, reflecting payments made under our various lease agreements. Other liabilities increased $1.3 million primarily reflecting an increase in the portion of our deferred revenue that we expect to convert to revenue more than twelve months from now, primarily related to sale of discontinued material/components purchased on behalf of customers.

 

Investing Activities. Net cash used in investing activities for year ended December 31, 2023 was $1.3 million, all of which represented purchases of property and equipment. These purchases primarily represent leasehold improvements to our new facility for our Acculogic operation in Canada and test equipment for our Electronic Test segment. These purchases were funded using our working capital. We have no significant commitments for capital expenditures for 2024; however, depending upon changes in market demand or manufacturing and sales strategies, we may make such purchases or investments as we deem necessary and appropriate. These additional cash requirements would be funded by our cash and cash equivalents, anticipated net cash to be provided by operations and our Credit Facility.

 

Financing Activities. Net cash provided by financing activities for the year ended December 31, 2023 was $15.6 million. During 2023, we had net proceeds of $19.2 million from the sale of 921,797 shares of our common stock, as previously discussed. During this same period, we also received $978,000 as a result of the exercise of options to purchase our stock by employees and $174,000 as a result of purchases of our stock that were made by our employees under the inTEST Corporation Employee Stock Purchase Plan. During 2023, we made principal payments on our Term Note totaling $4.1 million and acquired $687,000 of stock as a result of shares withheld by us from employees to satisfy tax liabilities incurred by them as a result of vesting of restricted stock awards. These shares are classified as treasury stock on our consolidated balance sheets.

 

New or Recently Adopted Accounting Standards

See Note 2 to the consolidated financial statements for information concerning the implementation and impact of new or recently adopted accounting standards.

Critical Accounting Estimates

The preparation of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues, 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 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.

 

30

 

Inventory Valuation

 

Inventories are valued at cost on a first-in, first-out basis, not in excess of market 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 and 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. During 2023 and 2022, we recorded inventory obsolescence charges for excess and obsolete inventory of $544,000 and $771,000, respectively.

 

Goodwill, Intangible and Long-Lived Assets

We account for goodwill and intangible assets in accordance with Accounting Standards Codification ("ASC") Topic 350 (Intangibles- Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. Goodwill is assessed for impairment at least annually in the fourth quarter, on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill may be impaired. 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 this is the case, we are required to perform a goodwill impairment test to identify potential goodwill impairment and measure the amount of goodwill impairment loss to be recognized. The test is discussed below. 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 amounts, the goodwill impairment test is not required. 

 

The quantitative goodwill impairment test, used to identify both the existence of impairment and the amount of impairment loss, 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 shall 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. At December 31, 2023 and 2022, goodwill was $21.7 million and $21.6 million, respectively. We did not record any impairment charges related to our goodwill during 2023 or 2022.

 

Indefinite-lived intangible assets are assessed for impairment at least annually in 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. Our indefinite-lived intangible assets were trademarks and trade names carried at $8.4 million at each of December 31, 2023 and 2022, respectively. We did not record any impairment charges related to our indefinite-lived intangible assets during 2023 or 2022.

 

Long-lived assets, which consist of finite-lived intangible assets, property and equipment and 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. If impairment is indicated, the asset 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. At December 31, 2023 and 2022, finite-lived intangibles and long-lived assets were $16.4 million and $19.1 million, respectively. We did not record any impairment charges related to our long-lived assets during 2023 or 2022.

 

31

 

Contingent Consideration Liabilities

 

The contingent consideration liabilities on our balance sheet are accounted for in accordance with the guidance in ASC 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). 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.

 

Our contingent consideration liability is a result of our acquisition of Acculogic on December 21, 2021. The contingent consideration liability represents the fair value of additional payments we may make to the seller of 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. There were no payments due to the seller for the years ended December 31, 2022 or 2023. The maximum payment over the five-year period is capped at CAD $5.0 million, which equates to approximately $3.8 million at December 31, 2023. The fair value of this Level 3 instrument involves assessing the total amount of revenue we expect from sales to EV or battery customers during the applicable time period as well as when we expect to receive payment for the related net invoices. At December 31, 2023 and 2022, the contingent consideration liability on our balance sheet was $1.1 million and $1.4 million, respectively. The current portion of this liability at December 31, 2023 and 2022 was $0 and $324,000, respectively, and was included in Other Current Liabilities.

 

Income Taxes

The asset and liability method is used in accounting for 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.

 

Deferred tax assets are analyzed to determine if there will be sufficient taxable income in the future in order to realize such assets. We assess all of the positive and negative evidence concerning the realizability of the deferred tax assets, including our historical results of operations for the recent past and our projections of future results of operations, in which we make subjective determinations of future events. If, after assessing all of the evidence, both positive and negative, a determination is made that the realizability of the deferred tax assets is not more likely than not, we establish a deferred tax valuation allowance for all or a portion of the deferred tax assets depending upon the specific facts. If any of the significant assumptions were changed, materially different results could occur, which could significantly change the amount of the deferred tax valuation allowance established. At December 31, 2023 and 2022 we had a net deferred tax asset of $1.4 million and $280,000, respectively. Our deferred tax valuation allowance at December 31, 2023 and 2022 was $245,000 and $227,000, respectively.
 

Off-Balance Sheet Arrangements

There were no off-balance sheet arrangements during the year ended December 31, 2023 that have or are reasonably likely to have, a material current or future effect on our financial condition, changes in financial condition, revenues or expenses, results of operations, liquidity, cash requirements or capital resources.

 

Item 7A.

QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

 

This disclosure is not required for a smaller reporting company.

 

Item 8.

FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA

 

Consolidated financial statements are set forth in this Report beginning at page F-1 and are incorporated by reference into this Item 8.

 

Item 9.

CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE

 

None.

 

Item 9A.

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. 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 Chief Executive Officer (“CEO”) and Chief Financial Officer (“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.

 

32

 

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 not effective at the reasonable assurance level.

 

Our Chief Executive Officer and Chief Financial Officer concluded that our disclosure controls and procedures were not effective as of December 31, 2023 because of the material weakness in our internal control over financial reporting described below. A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of our annual or interim financial statements will not be prevented or detected in a timely basis. The identified material weakness contributed to the restatements of our financial statements for the three and nine months ended September 30, 2023.

 

Management has determined that the Company had the following material weakness in its internal control over financial reporting:

 

 

We did not appropriately design and implement controls over 1) the identification of and 2) the application of appropriate U.S. GAAP for transactions related to the procurement and sale of discontinued material/components purchased on behalf of customers where the associated materials/components were still physically located with us and the materials/components are expected to be applied to future product orders for these customers.

 

This material weakness contributed to material misstatements in our consolidated financial statements for the three and nine months ended September 30, 2023, which have been corrected and restated in our Amendment No. 1 to our Quarterly Report on Form 10-Q for the period ended September 30, 2023. Accordingly, management has concluded that this control deficiency constitutes a material weakness.

 

Remediation Efforts

 

Management is developing a remediation plan to address the material weakness discussed above. Remediation will not occur until the plan is implemented and there has been appropriate time for us to conclude through testing that the control operates effectively.

Changes in Internal Control Over Financial Reporting

 

As described above, we are in the process of developing and implementing changes to our internal control over financial reporting to remediate the material weaknesses described herein. Other than these changes, 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. 

 

Management's Report on Internal Control over Financial Reporting

Our management is responsible for establishing and maintaining adequate internal control over financial reporting. Internal control over financial reporting is defined in Rule 13a-15(f) and 15d-15(f) under the Exchange Act as a process designed by, or under the supervision of, our principal executive and principal financial officers and effected by our Board of Directors, management and other personnel 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 and includes those policies and procedures that:

 

 

1.

pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of our assets;

 

 

2.

provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that our receipts and expenditures are being made only in accordance with authorizations of our management and directors; and

 

 

3.

provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of our assets that could have a material effect on the financial statements.

 

Because of inherent limitations, internal control over financial reporting may not prevent or detect all misstatements. Projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

 

Management assessed the effectiveness of our internal control over financial reporting at December 31, 2023. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) on Internal Control-Integrated 2013 Framework. Based upon this assessment, management believes that, at December 31, 2023, our internal control over financial reporting is not effective at a reasonable assurance level.

 

The effectiveness of our internal control over financial reporting as of December 31, 2023 has been audited by RSM US LLP, our independent registered public accounting firm, as stated in their report included in this Report on page F-3.

 

33

 

 

Item 9B.

OTHER INFORMATION

 

On December 8, 2023, Richard N. Grant, the Company’s Chief Executive Officer, entered into a prearranged stock trading plan (the “Grant 10b5-1 Plan”). The Grant 10b5-1 Plan was entered into during an open insider trading window, is designed to satisfy the affirmative defense of Rule 10b5-1(c), and terminates on December 31, 2026. The Grant 10b5-1 Plan provides for the sale from time to time upon a vesting event of a number of shares equal to 40% of the fair market value of the shares that vest upon such vesting event for the purpose of covering applicable taxes due at such vesting event. The plan also has a one-time sale of Common Stock with an aggregate value not to exceed $775,000.

  

 

Item 9C.

DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS

 

Not Applicable.

 

 

PART III

 

Item 10.

DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE

 

The information required by this Item 10 is incorporated by reference from our definitive proxy statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year covered by this Report.

 

Code of Ethics

 

We have adopted a Code of Ethics (the “Code”) as a guide to the standards of business conduct to which our employees, officers and directors must adhere. A copy of the Code can be found on our website at https://intestcorp.gcs-web.com/corporate-governance. We intend to satisfy the disclosure requirements of the SEC regarding amendments to, or waivers from, the Code by posting such information on the same website. 

 

Item 11.

EXECUTIVE COMPENSATION

 

The information required by this Item 11 is incorporated by reference from our definitive proxy statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year covered by this Report.

 

Item 12.

SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS

 

The information required by Item 201(d) of Regulation S-K is set forth below. The remainder of the information required by this Item 12 is incorporated by reference from our definitive proxy statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year covered by this Report.

 

The following table shows the number of securities that may be issued pursuant to our equity compensation plans (including individual compensation arrangements) at December 31, 2023:

 

Equity Compensation Plan Information

 

Plan Category

 

Number of

securities to be

issued upon

exercise of

outstanding

options, warrants

and rights(1)

   

Weighted-

average exercise

price of

outstanding

options, warrants

and rights

   

Number of

securities

remaining

available for

future issuance

under equity

compensation

plans(2)

 

Equity compensation plans approved by security holders

    505,006     $ 10.46       1,350,094  

Equity compensation plans not approved by security holders

    -       -       -  

Total

    505,006     $ 10.46       1,350,094  

 

 

(1)

The securities that may be issued are shares of inTEST common stock, issuable upon exercise of outstanding stock options.

 

(2)

The securities that remain available for future issuance include 1,143,026 that are issuable pursuant to the inTEST Corporation 2023 Stock Incentive Plan and 207,068 that are issuable pursuant to the inTEST Corporation Employee Stock Purchase Plan.

 

34

 

Item 13.

CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE

 

The information required by this Item 13 is incorporated by reference from our definitive proxy statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year covered by this Report.

 

Item 14.

PRINCIPAL ACCOUNTING FEES AND SERVICES

 

The information required by this Item 14 is incorporated by reference from our definitive proxy statement for our 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days after the end of the fiscal year covered by this Report.

 

 

PART IV

 

Item 15.

EXHIBITS, FINANCIAL STATEMENT SCHEDULES

 

 

(a)

The documents filed as part of this Annual Report on Form 10-K are:

 

(i)     Our consolidated financial statements and notes thereto as well as the applicable reports of our independent registered public accounting firm are included in Part II, Item 8 of this Annual Report on Form 10-K.
(ii)    The following financial statement schedule should be read in conjunction with the consolidated financial statements set forth in Part II, Item 8 of this Annual Report on Form 10-K:
                Schedule II -- Valuation and Qualifying Accounts
(iii)   The exhibits required by Item 601 of Regulation S-K are included under Item 15(b) of this Annual Report on Form 10-K.

 

 

(b)

Exhibits required by Item 601 of Regulation S-K:

 

A list of the Exhibits which are required by Item 601 of Regulation S-K and filed with this Report is set forth in the Index to Exhibits immediately preceding the signature page, which Index to Exhibits is incorporated herein by reference.

 

Item 16.

FORM 10-K SUMMARY

 

None.

 

 

Index to Exhibits 

Exhibit
Number

Description of Exhibit

3.1

 

Certificate of Incorporation. (2)

3.2

 

Bylaws as amended and restated on April 23, 2018. (3)

4.1

 

Description of Securities. (2)

10.1

 

Lease Agreement between Exeter 804 East Gate, LLC and the Company dated May 10, 2010. (4)

10.2

 

First Amendment to Lease Agreement, dated September 22, 2020, by and between inTEST Corporation and Exeter 804 East Gate 2018, LLC. (5) 

10.3

 

Second Amendment to Lease Agreement, dated April 7, 2021, by and between inTEST Corporation and Exeter 804 East Gate 2018, LLC. (6)

10.4

 

Lease Agreement between AMB-SGP Seattle/Boston, LLC and Temptronic Corporation (a subsidiary of the Company), dated October 25, 2010. (7)

10.5

 

Second Amendment to Lease between James Campbell Company, LLC and Temptronic Corporation dated April 8, 2019. (8)

10.6

 

Lease Agreement between Columbia California Warm Springs Industrial, LLC and inTEST Silicon Valley Corporation dated January 9, 2012. (9)

10.7

 

First Amendment to Lease Agreement between Columbia California Warm Springs Industrial, LLC and inTEST Silicon Valley Corporation dated November 18, 2016. (10)

10.8

 

Second Amendment to Standard Lease Agreement, dated January 23, 2020, by and between inTEST Silicon Valley Corporation and Fremont Business Center, LLC. (11)

 

35

 

10.9

 

Guaranty Agreements between Columbia California Warm Springs Industrial, LLC and inTEST Corporation dated January 9, 2012. (9)

10.10

 

Lease Agreement between Maguire Family Properties, Inc. and Ambrell Corporation dated December 19, 2017. (12)

10.11

 

Guaranty of Lease between Maguire Family Properties, Inc. and Ambrell Corporation dated December 19, 2017. (12)

10.12

 

Lease Agreement between Apple Creek Properties Limited and Acculogic Inc. dated November 30, 2022. (22)

10.13

 

Amended and Restated Loan and Security Agreement dated October 15, 2021, among inTEST Corporation, Ambrell Corporation, inTEST Silicon Valley Corporation, inTEST EMS, LLC, Temptronic Corporation and M&T Bank. (23)

10.14

 

Joinder and Second Amendment to Amended and Restated Loan and Security Agreement, dated December 30, 2021, among inTEST Corporation, Ambrell Corporation, inTEST Silicon Valley Corporation, inTEST EMS, LLC, Temptronic Corporation, Videology Imaging Corporation, Acculogic Ltd., Acculogic Inc. and M&T Bank. (13)

10.15

 

Third Amendment to Amended and Restated Loan and Security Agreement, dated September 20, 2022, among inTEST Corporation, Ambrell Corporation, inTEST Silicon Valley Corporation, inTEST EMS, LLC, Temptronic Corporation, Videology Imaging Corporation, Acculogic Ltd., Acculogic Inc. and M&T Bank. (24)

10.16

 

Amended and Restated Delayed Draw Term Note 1, dated October 28, 2021. (1)

10.17

 

Second Amended and Restated Delayed Draw Term Note 1A, dated December 30, 2021. (13)

10.18

 

Third Amended and Restated Delayed Draw Term Note 1A, dated September 30, 2022. (24)

10.19

 

Delayed Draw Term Note 1B, dated December 30, 2021. (13)

10.20

 

Guarantee and Indemnity Agreement, dated December 30, 2021, among inTEST Corporation, Acculogic Inc. and M&T Bank. (13)

10.21

 

Pledge Agreement, dated December 30, 2021, between inTEST Corporation and M&T Bank. (13)

10.22

 

General Security Agreement, dated December 30, 2021, among inTEST Corporation, Acculogic Inc. and M&T Bank. (13)

10.23

 

Second Amended and Restated Patents, Trademarks, Copyrights and Licenses Security Agreement, dated December 30, 2021, among inTEST Corporation, Ambrell Corporation, inTEST Silicon Valley Corporation, inTEST EMS, LLC, Temptronic Corporation, Videology Imaging Corporation, Acculogic Ltd. and M&T Bank. (13)

10.24

 

Second Amended and Restated Surety Agreement, dated December 30, 2021, among Ambrell Corporation, inTEST Silicon Valley Corporation, inTEST EMS, LLC, Temptronic Corporation, Videology Imaging Corporation, Acculogic Ltd. and M&T Bank. (13)

10.25

 

Second Amended and Restated Revolver Note, dated October 15, 2021. (14)

10.26

 

Form of Indemnification Agreement (15)(*)

10.27

 

inTEST Corporation Fourth Amended and Restated 2014 Stock Plan (18)(*)

10.28

 

inTEST Corporation Employee Stock Purchase Plan. (17)(*)

10.29

 

Letter Agreement between the Company and Richard N. Grant, Jr. dated July 24, 2020 (19)(*)

10.30

 

Letter Agreement between the Company and Duncan Gilmour dated June 10, 2021(20)(*)

10.31

 

Change of Control Agreement dated August 11, 2020 between the Company and Richard N. Grant, Jr. (16)(*)

10.32

 

Change of Control Agreement dated June 10, 2021 between the Company and Duncan Gilmour. (25)(*)

10.33

 

Form of Officer Compensation Plan. (*)(+)

10.34

 

Form of Restricted Stock Award Agreement for Employees. (16)(*)

10.35

 

Form of Restricted Stock Award Agreement for Directors. (16)(*)

10.36

 

Form of Non-Qualified Stock Option Agreement. (21)(*)

10.37

 

Form of Incentive Stock Option Agreement. (21)(*)

10.38

 

Compensatory Arrangements of Directors. (*)

10.39

 

inTEST Corporation 2023 Stock Incentive Plan. (26)(*)

10.40

 

Sales Agreement dated May 11, 2023, by and between inTEST Corporation and Lake Street Capital Markets, LLC. (27)

10.41

 

Lease Agreement, dated December 4, 2023, between inTEST SE ASIA SDN BHD and PERFECT PRESS SDN BHD. (28)

21

 

Subsidiaries of the Company.

23

 

Consent of RSM US LLP.

31.1

 

Certification of Chief Executive Officer pursuant to Rule 13a-14(a).

31.2

 

Certification of Chief Financial Officer pursuant to Rule 13a-14(a).

32.1

 

Certification of Chief Executive Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

32.2

 

Certification of Chief Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

97

 

Policy Relating to Recovery of Erroneously Awarded Compensation.(*)

101.INS

 

Inline XBRL Taxonomy Instance Document

101.SCH

 

Inline XBRL Taxonomy Extension Schema Document

101.CAL

 

Inline XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF

 

Inline XBRL Taxonomy Extension Definition Linkbase Document

101.LAB

 

Inline XBRL Taxonomy Extension Label Linkbase Document

101.PRE

 

Inline XBRL Taxonomy Extension Presentation Linkbase Document

104

 

Cover Page Interactive Data File (the cover page interactive data file does not appear in Exhibit 104 because its Inline XBRL tags are embedded within the Inline XBRL document).

 

36

 

(1)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated October 28, 2021, File No. 001-36117, filed November 2, 2021, and incorporated herein by reference.

(2)

Previously filed by the Company as an exhibit to the Company’s Form 10-K for the year ended December 31, 2019, File No. 001-36117, filed March 23, 2020, and incorporated herein by reference.

(3)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated April 23, 2018, File No. 001-36117, filed April 25, 2018, and incorporated herein by reference.

(4)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated May 10, 2010, File No. 000-22529, filed May 13, 2010, and incorporated herein by reference.

(5)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated September 22, 2020, File No. 001-36117, filed September 24, 2020, and incorporated herein by reference.

(6)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated April 7, 2021, File No. 001-36117, filed April 13, 2021, and incorporated herein by reference.

(7)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated October 27, 2010, File No. 000-22529, filed October 29, 2010, and incorporated herein by reference.

(8)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated April 8, 2019, File No. 001-36117, filed April 12, 2019, and incorporated herein by reference.

(9)

Previously filed by the Company as an exhibit to the Company’s Form 10-Q Amendment No. 1 for the quarter ended March 31, 2012, File No. 000-22529, filed May 15, 2012, and incorporated herein by reference.

(10)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated November 18, 2016, File No. 001-36117, filed November 22, 2016, and incorporated herein by reference.

(11)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated January 23, 2020, File No. 001-36117, filed January 28, 2020, and incorporated herein by reference.

(12)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated December 19, 2017, File No. 001-36117, filed December 22, 2017, and incorporated herein by reference.

(13)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated December 30, 2021, File No. 001-36117, filed January 6, 2022, and incorporated herein by reference.

(14)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated October 15, 2021, File No. 001-36117, filed October 20, 2021, and incorporated herein by reference.

(15)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated June 24, 2020, File No. 001-36117, filed June 29, 2020, and incorporated herein by reference.

(16)

Previously filed by the Company as an exhibit to the Company’s Form 10-Q for the quarter ended September 30, 2020, File No. 001-36117, filed November 12, 2020, and incorporated herein by reference.

(17)

Previously filed by the Company as an exhibit to the Company’s Form 10-Q for the quarter ended June 30, 2021, File No. 001-36117, filed August 12, 2021, and incorporated herein by reference.

(18)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated June 22, 2022, File No. 001-36117, filed June 27, 2022, and incorporated herein by reference.

(19)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated August 6, 2020, File No. 001-36117, filed August 11, 2020, and incorporated herein by reference.

(20)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated June 10, 2021, File No. 001-36117, filed June 14, 2021, and incorporated herein by reference.

(21)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated March 10, 2021, File No. 001-36117, filed March 16, 2021, and incorporated herein by reference.

(22)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated November 30, 2022, File No. 001-36117, filed December 6, 2022, and incorporated herein by reference.

(23)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated October 15, 2021, File No. 001-36117, filed October 20, 2021, and incorporated herein by reference.

(24)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated September 20, 2022, File No. 001-36117, filed September 26, 2022, and incorporated herein by reference

(25)

Previously filed by the Company as an exhibit to the Company’s Annual Report on Form 10-K for the year ended December 31, 2021, File No. 001-36117, filed March 23, 2022, and incorporated herein by reference.

(26)

Previously filed by the Company as an appendix to the Company’s Proxy Statement filed April 27, 2023, and incorporated herein by reference.

(27)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated May 11, 2023, File No. 001-36117, filed May 11, 2023, and incorporated herein by reference.

(28)

Previously filed by the Company as an exhibit to the Company’s Current Report on Form 8-K dated December 6, 2023, File No. 001-36117, filed December 6, 2023, and incorporated herein by reference.

   

(*)

Indicates a management contract or compensatory plan, contract or arrangement in which directors or executive officers participate.

(+)

This filing omits exhibits and schedules pursuant to Item 601(a)(5) of Regulation S-K, which the registrant agrees to furnish supplementary to the Securities and Exchange Commission upon request.

 

37

 

 

Signatures 

 

 

Pursuant to the requirements of Section 13 or 15(d) 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

 

 

 

By:

/s/ Richard N. Grant, Jr.

March 27, 2024

 

Richard N. Grant, Jr.

 
 

President and Chief Executive Officer

 

 

 

 

Pursuant to the requirements of Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the Registrant and in the capacities and on the dates indicated.

 

 

 

/s/ Richard N. Grant, Jr.
Richard N. Grant, Jr., President,
Chief Executive Officer and Director
(Principal Executive Officer)

March 27, 2024

   
   
   

/s/ Duncan Gilmour.
Duncan Gilmour, Chief Financial Officer, Treasurer

and Secretary
(Principal Financial Officer and Principal Accounting Officer)

March 27, 2024

   
   
   

/s/ Joseph W. Dews IV
Joseph W. Dews IV, Chairman

March 27, 2024

   
   
   

/s/ Steven J. Abrams
Steven J. Abrams, Esq., Director

March 27, 2024

   
   
   

/s/ Jeffrey A. Beck
Jeffrey A. Beck, Director

March 27, 2024

   
   
   

/s/ Gerald J. Maginnis
Gerald J. Maginnis, Director

March 27, 2024

 

38

 

 

 

inTEST CORPORATION


INDEX TO CONSOLIDATED FINANCIAL STATEMENTS AND
FINANCIAL STATEMENT SCHEDULE

 

 

 

Page

  

REPORTS OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM (RSM US LLP PCAOB No. 49)

F - 1

  

CONSOLIDATED FINANCIAL STATEMENTS

 
  

Consolidated Balance Sheets as of December 31, 2023 and 2022

F - 4

  

Consolidated Statements of Operations for the years ended December 31, 2023 and 2022

F – 5

  

Consolidated Statements of Comprehensive Earnings for the years ended December 31, 2023 and 2022

F – 6

  

Consolidated Statements of Stockholders' Equity for the years ended December 31, 2023 and 2022

F - 7

  

Consolidated Statements of Cash Flows for the years ended December 31, 2023 and 2022

F - 8

  

Notes to Consolidated Financial Statements

F - 9

  

FINANCIAL STATEMENT SCHEDULE

 
  

Schedule II - Valuation and Qualifying Accounts

F -31

 

39

 

 

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

 

To the Stockholders and the Board of Directors of inTEST Corporation

 

 

Opinion on the Financial Statements

We have audited the accompanying consolidated balance sheets of inTEST Corporation and its subsidiaries (the Company) as of December 31, 2023 and 2022, the related consolidated statements of operations, comprehensive earnings, stockholders' equity and cash flows for each of the two years in the period ended December 31, 2023, and the related notes to the consolidated financial statements and schedule (collectively, the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2023 and 2022, and the results of its operations and its cash flows for each of the two years in the period ended December 31, 2023, in conformity with accounting principles generally accepted in the United States of America.

 

We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company's internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013. Our report dated March 27, 2024 expressed an opinion that the Company had not maintained effective internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control — Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013.

 

Basis for Opinion

These financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’s financial statements based on our audits. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

 

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.

 

Critical Audit Matters

The critical audit matter communicated below is a matter arising from the current period audit of the financial statements that was communicated or required to be communicated to the audit committee and that: (1) relates to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective or complex judgments. The communication of the critical audit matter does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.

 

Valuation of Goodwill

As disclosed in Notes 2 and 4 to the Company’s consolidated financial statements, during 2023 the Company had three operating segments which are also its reporting units – Electronic Test, Environmental Technologies, and Process Technologies. As of December 31, 2023, the Company’s goodwill balance of approximately $21.7 million was allocated across the three reporting units as follows: $3.4 million to Electronic Test, $1.8 million to Environmental Technologies and $16.5 million to Process Technologies. The Company performed an annual goodwill impairment test as of October 1, 2023 using a quantitative evaluation for each of its reporting units. The Company determines the fair value of its reporting units using the income approach, based on a discounted cash flow valuation model. To test for goodwill impairment, the Company compares the fair value of each reporting unit to its carrying value.

 

Given the significant estimates and assumptions management makes to determine the fair value of the reporting units, we identified management’s assumptions related to revenue growth rates, expense growth rates, control premiums and discount rates utilized in the valuation of the reporting units quantitatively tested for goodwill impairment as a critical audit matter. Auditing the reasonableness of management’s estimates and assumptions required a high degree of auditor judgment and an increased extent of effort, including the need to involve our fair value specialists.

 

F-1

 

 

 

 

Our audit procedures related to the assessment of the valuation of goodwill included, among other procedures, the following:

 

We obtained an understanding of management’s process for developing the fair value estimate.

 

We tested the completeness, accuracy, and relevance of certain underlying data used in the discounted cash flow model.

 

We compared and assessed the historical accuracy of management’s estimates, including forecasted revenue streams and margins, to identify, understand, and evaluate the reasonableness of the forecasts as compared to the Company’s historical results.

 

We evaluated the reasonableness of management’s forecasts of revenue and margins by comparing the forecasts to (1) the historical results, (2) external market and industry data and (3) internal communications to management and the Board of Directors.

 

With the assistance of our valuation specialists, we evaluated the reasonableness of management’s valuation methodology and significant assumptions by:

 

 

o

Evaluating the reasonableness of the discount rate by comparing the underlying source information to publicly available market data and verifying the accuracy of the calculations.

 

 

o

Evaluating the control premiums utilized within the reconciliation to the Company’s market capitalization.

 

 

o

Evaluating the appropriateness of the valuation methods used by management and testing their mathematical accuracy.

 

 

/s/ RSM US LLP

 

We have served as the Company's auditor since 2008.

 

Blue Bell, Pennsylvania

March 27, 2024

 

F-2

 

 

 

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

 

 

To the Stockholders and the Board of Directors of inTEST Corporation

 

 

Opinion on the Internal Control Over Financial Reporting

We have audited inTEST Corporation's (the Company) internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013 . In our opinion, because of the effect of the material weakness described below on the achievement of the objectives of the control criteria, the Company has not maintained effective internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control Integrated Framework issued by the Committee of Sponsoring Organizations of the Treadway Commission in 2013.

 

We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated balance sheets of the Company as of December 31, 2023 and 2022, and the related consolidated statements of operations, comprehensive earnings, stockholders’ equity and cash flows for each of the two years in the period ended December 31, 2023 of the Company and our report dated March 27, 2024 expressed an unqualified opinion.

 

A material weakness is a deficiency, or a combination of deficiencies, in internal control over financial reporting, such that there is a reasonable possibility that a material misstatement of the company's annual or interim financial statements will not be prevented or detected on a timely basis. The following material weakness has been identified and included in management's assessment. The Company did not appropriately design and implement controls over 1) the identification of and 2) the application of appropriate U.S. GAAP for transactions related to the procurement and sale of discontinued material/components purchased on behalf of customers where the associated materials/components were still physically located with the Company and the materials/components are expected to be applied to future product orders for these customers. This material weakness was considered in determining the nature, timing and extent of audit tests applied in our audit of the 2023 financial statements, and this report does not affect our report dated March 27, 2024 on those financial statements.

 

Basis for Opinion

The Company’s management is responsible for maintaining effective internal control over financial reporting and for its assessment of the effectiveness of internal control over financial reporting in the accompanying Management’s Report on Internal Controls over Financial Reporting. Our responsibility is to express an opinion on the Company’s internal control over financial reporting based on our audit. We are a public accounting firm registered with the PCAOB and are required to be independent with respect to the Company in accordance with U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

 

We conducted our audit in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether effective internal control over financial reporting was maintained in all material respects. Our audit included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audit also included performing such other procedures as we considered necessary in the circumstances. We believe that our audit provides a reasonable basis for our opinion.

 

Definition and Limitations of Internal Control Over Financial Reporting

A company's internal control over financial reporting is a process designed 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. A company's internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the company's assets that could have a material effect on the financial statements.

 

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

 

/s/ RSM US LLP

 

Blue Bell, Pennsylvania

March 27, 2024

 

F-3

 

   

 

inTEST CORPORATION
CONSOLIDATED BALANCE SHEETS
(In thousands, except share and per share data)

 

  

December 31,

 
  

2023

  

2022

 

ASSETS

        

Current assets:

        

Cash and cash equivalents

 $45,260  $13,434 

Restricted cash

  -   1,142 

Trade accounts receivable, net of allowance for credit losses of $474 and $496, respectively

  18,175   21,215 

Inventories

  20,089   22,565 

Prepaid expenses and other current assets

  2,254   1,695 

Total current assets

  85,778   60,051 

Property and equipment:

        

Machinery and equipment

  7,118   6,625 

Leasehold improvements

  3,601   3,242 

Gross property and equipment

  10,719   9,867 

Less: accumulated depreciation

  (7,529)  (6,735)

Net property and equipment

  3,190   3,132 

Right-of-use assets, net

  4,987   5,770 

Goodwill

  21,728   21,605 

Intangible assets, net

  16,596   18,559 

Deferred tax assets

  1,437   280 

Restricted certificates of deposit

  100   100 

Other assets

  1,013   569 

Total assets

 $134,829  $110,066 
         

LIABILITIES AND STOCKHOLDERS' EQUITY

        

Current liabilities:

        

Current portion of Term Note

 $4,100  $4,100 

Current portion of operating lease liabilities

  1,923   1,645 

Accounts payable

  5,521   7,394 

Accrued wages and benefits

  4,156   3,907 

Accrued professional fees

  1,228   884 

Customer deposits and deferred revenue

  3,797   4,498 

Accrued sales commission

  1,055   1,468 

Domestic and foreign income taxes payable

  1,038   1,409 

Other current liabilities

  1,481   1,564 

Total current liabilities

  24,299   26,869 

Operating lease liabilities, net of current portion

  3,499   4,705 

Term Note, net of current portion

  7,942   12,042 

Contingent consideration

  1,093   1,039 
Deferred revenue, net of current portion  1,331   - 

Other liabilities

  384   455 

Total liabilities

  38,548   45,110 
         

Commitments and Contingencies (Note 12)

          
         

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 shares authorized; 12,241,925 and 11,063,271 shares issued, respectively

  122   111 

Additional paid-in capital

  54,450   31,987 

Retained earnings

  42,196   32,854 

Accumulated other comprehensive earnings

  414   218 

Treasury stock, at cost; 75,758 and 34,308 shares, respectively

  (901)  (214)

Total stockholders' equity

  96,281   64,956 

Total liabilities and stockholders' equity

 $134,829  $110,066 

 

See accompanying Notes to Consolidated Financial Statements.

 

F-4

 

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF OPERATIONS
(In thousands, except share and per share data)

 

  

Years Ended
December 31,

 
  

2023

  

2022

 
         

Revenue

 $123,302  $116,828 

Cost of revenue

  66,324   63,388 

Gross profit

  56,978   53,440 
         

Operating expenses:

        

Selling expense

  17,605   15,903 

Engineering and product development expense

  7,618   7,529 

General and administrative expense

  21,316   19,287 

Total operating expenses

  46,539   42,719 
         

Operating income

  10,439   10,721 

Interest expense

  (679)  (635)

Other income

  1,288   59 
         

Earnings before income tax expense

  11,048   10,145 

Income tax expense

  1,706   1,684 
         

Net earnings

 $9,342  $8,461 
         

Earnings per common share – basic

 $0.82  $0.79 
         

Weighted average common shares outstanding – basic

  11,461,399   10,673,017 
         

Earnings per common share – diluted

 $0.79  $0.78 
         

Weighted average common shares and common share equivalents outstanding – diluted

  11,779,912   10,862,538 

 

See accompanying Notes to Consolidated Financial Statements.

 

F-5

 

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF COMPREHENSIVE EARNINGS
(In thousands)

 

  

Years Ended
December 31,

 
  

2023

  

2022

 
         

Net earnings

 $9,342  $8,461 
         

Unrealized gain (loss) on interest rate swap agreement

  (243)  549 

Foreign currency translation adjustments

  439   (925)
         

Comprehensive earnings

 $9,538  $8,085 

 

See accompanying Notes to Consolidated Financial Statements

 

F-6

 

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY
(In thousands, except share data)

 

                  

Accumulated

         
          

Additional

      

Other

      

Total

 
  

Common Stock

  

Paid-In

  

Retained

  

Comprehensive

  

Treasury

  

Stockholders'

 
  

Shares

  

Amount

  

Capital

  

Earnings

  

Earnings

  

Stock

  

Equity

 
                             

Balance, January 1, 2022

  10,910,460  $109  $29,931  $24,393  $594  $(204) $54,823 
                             

Net earnings

  -   -   -   8,461   -   -   8,461 

Other comprehensive loss

  -   -   -   -   (376)  -   (376)

Amortization of deferred compensation related to stock-based awards

  -   -   1,787   -   -   -   1,787 

Issuance of unvested shares of restricted stock

  123,533   1   (1)  -   -   -   - 

Forfeiture of unvested shares of restricted stock

  (5,944)  -   -   -   -   -   - 

Stock options exercised

  8,060      38   -         38 

Shares issued under Employee Stock Purchase Plan

  27,162   1   232   -         233 

Shares surrendered to satisfy tax liability at vesting of stock-based awards

  -   -   -   -   -   (10)  (10)
                             

Balance, December 31, 2022

  11,063,271  $111  $31,987  $32,854  $218  $(214) $64,956 
                             

Net earnings

  -   -   -   9,342   -   -   9,342 

Other comprehensive earnings

  -   -   -   -   196   -   196 

Amortization of deferred compensation related to stock-based awards

  -   -   2,047   -   -   -   2,047 

Issuance of unvested shares of restricted stock

  97,461   1   (1)  -   -   -   - 

Issuance of additional shares of restricted sock related to performance-based awards which vested in the period

  40,557   -   -   -   -   -   - 

Forfeiture of unvested shares of restricted stock

  (17,491)  -   -   -   -   -   - 

Stock options exercised

  124,550   1   977   -   -   -   978 

Shares issued under Employee Stock Purchase Plan

  11,780   -   205   -   -   -   205 

Shares surrendered to satisfy tax liability at vesting of stock-based awards

  -   -   -   -   -   (687)  (687)

Shares issued pursuant to At-the-Market Offering

  921,797   9   19,235   -   -   -   19,244 
                             

Balance, December 31, 2023

  12,241,925  $122  $54,450  $42,196  $414  $(901) $96,281 

 

See accompanying Notes to Consolidated Financial Statements

 

F-7

 

 

 

inTEST CORPORATION
CONSOLIDATED STATEMENTS OF CASH FLOWS
(In thousands)

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

CASH FLOWS FROM OPERATING ACTIVITIES

        

Net earnings

 $9,342  $8,461 

Adjustments to reconcile net earnings to net cash provided by (used in) operating activities:

        

Depreciation and amortization

  4,683   4,734 

Provision for excess and obsolete inventory

  544   771 

Foreign exchange (gain) loss

  (9)  109 

Amortization of deferred compensation related to stock-based awards

  2,047   1,787 

Discount on shares sold under Employee Stock Purchase Plan

  31   36 

Proceeds from sale of demonstration equipment, net of gain

  167   68 

Loss on disposal of property and equipment

  11   - 

Deferred income tax benefit

  (1,157)  (1,659)

Adjustment to contingent consideration liability

  (294)  - 

Changes in assets and liabilities:

        

Trade accounts receivable

  2,991   (4,886)

Inventories

  2,027   (10,631)

Prepaid expenses and other current assets

  (535)  (243)

Other assets

  (686)  (2)

Operating lease liabilities

  (1,712)  (1,363)

Accounts payable

  (1,811)  2,875 

Accrued wages and benefits

  231   (118)

Accrued professional fees

  339   (157)

Customer deposits and deferred revenue

  (759)  (1,464)

Accrued sales commission

  (421)  621 

Domestic and foreign income taxes payable

  (371)  (573)

Other current liabilities

  231   184 
Deferred revenue, net of current portion  1,331   - 

Other liabilities

  (17)  61 

Net cash provided by (used in) operating activities

  16,203   (1,389)
         

CASH FLOWS FROM INVESTING ACTIVITIES

        

Payment of contingent consideration related to Z-Sciences acquisition

  -   (179)

Refund of final working capital adjustment related to Acculogic

  -   371 

Purchase of property and equipment

  (1,291)  (1,365)

Purchase of short term investments

  -   (3,494)

Sales of short term investments

  -   3,494 

Net cash used in investing activities

  (1,291)  (1,173)
         

CASH FLOWS FROM FINANCING ACTIVITIES

        

Net proceeds from public offering of common stock

  19,244   - 

Repayments of Term Note

  (4,100)  (3,958)

Proceeds from stock options exercised

  978   38 

Proceeds from shares sold under Employee Stock Purchase Plan

  174   197 

Settlement of employee tax liabilities in connection with treasury stock transaction

  (687)  (10)

Net cash provided by (used in) financing activities

  15,609   (3,733)
         

Effects of exchange rates on cash

  163   (324)

Net cash provided by (used in) all activities

  30,684   (6,619)

Cash, cash equivalents and restricted cash at beginning of period

  14,576   21,195 

Cash, cash equivalents and restricted cash at end of period

 $45,260  $14,576 

Cash payments for:

        

Domestic and foreign income taxes

 $3,240  $3,924 
         

SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES:

        

Issuance of unvested shares of restricted stock

 $1,601  $1,138 

Forfeiture of unvested shares of restricted stock

  (176)  (54)

 

See accompanying Notes to Consolidated Financial Statements.

 

F-8

 

inTEST CORPORATION
NOTES TO CONSOLIDATED FINANCIAL STATEMENTS
(In thousands, except share and per share data)

 

 

 

(1)

NATURE OF OPERATIONS

 

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 automotive, defense/aerospace, industrial, life sciences, security and semiconductor. 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 and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Germany, Singapore, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.

 

We announced in December 2023 that we have signed a lease on a 25,000 square foot facility in Penang, Malaysia which will support applications engineering, product development and localized manufacturing for nearly all inTEST brands. Operations are expected to begin at this location at some point in 2024. In connection with this operation, we established inTEST SE Asia Sdn Bhd (“inTEST SE Asia”), a private limited company incorporated in Malaysia which is a wholly-owned subsidiary of inTEST Corporation.

 

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 semiconductor market (“semi” or the “semi market”) which includes both the broader semiconductor market, as well as the more specialized automated test equipment (“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 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 acquisition of Acculogic Inc. and its affiliates (“Acculogic”) in December 2021, our Electronic Test segment also sells its products to customers in markets outside the semi market including the automotive, 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 automotive, 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 automotive, defense/aerospace, industrial, life sciences and 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.

 

F- 9

 

On May 11, 2023, we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20,000 between May 11, 2023 and May 31, 2023. We received net proceeds from the sale of these shares of $19,244 after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.

   

 

(2)

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Basis of Presentation and Use of Estimates

The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant 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 and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.

 

Reclassifications

Certain prior year amounts have been reclassified to be comparable with the current year's presentation.
 

 

Subsequent Events

 

We have made an assessment of our operations and determined that there were no material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the year ended December 31, 2023 other than those described in Note 19.

 

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.


Restructuring and Other Charges

 

In accordance with the guidance in Accounting Standards Codification (“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 right-of-use (“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 Topic 842 (Leases), ASC Topic 360 (Property, Plant and Equipment) and ASC Topic 350 (Intangibles - Goodwill and Other).

 

Cash, Cash Equivalents and Restricted Cash

 

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.

 

F- 10

 

Restricted cash at December 31, 2022 represented amounts deposited at our bank in the Netherlands to support a bank guarantee which one of the customers of our induction heating products required as a condition of paying a deposit on a large order they placed with us in 2022. The amount of the deposit, and, accordingly, the guarantee, was EUR 1,160. At December 31, 2022 this amount was $1,142. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At December 31, 2023, this deposit had been fully utilized and the bank guarantee had therefore lapsed.

 

The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets and the consolidated statements of cash flows:

 

  

December 31,

 
  

2023

  

2022

 

Cash and cash equivalents

 $45,260  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $45,260  $14,576 

 

Trade Accounts Receivable and Allowance for Doubtful Accounts

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. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective January 1, 2023, we follow the guidance in ASC Topic 326 (Financial Instruments – Credit Losses) 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.

 

For the year ended December 31, 2023, there were no significant changes in the amount of the allowance for credit losses. Bad debt recoveries totaled $198 and $470 for the years ended December 31, 2023 and 2022, respectively. These amounts had all been fully written off in a prior period or pre-acquisition, in the case of recently acquired businesses, and were no longer in our accounts receivable balance. Bad debt expense to reserve for items currently in our accounts receivable balance which we do not expect to collect totaled $286 for the year ended December 31, 2022. There was no similar bad debt expense for the year ended December 31, 2023. Cash flows from accounts receivable are recorded in operating cash flows.



Fair Value of Financial Instruments

 

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 maturities of the accounts. Our credit facility and our interest rate swap are discussed further below and in Note 10. Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC 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). 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 3 for further disclosures related to the fair value of our liabilities for contingent consideration.

 

Goodwill, Intangible and Long-Lived Assets

We have three reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.

 

F- 11

 

We account for goodwill and intangible assets in accordance with ASC Topic 350 (Intangibles - Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. 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 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.

 

 

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 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.

 

Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. 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.

 

F- 12

 

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 automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) 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 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 also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and 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 Other Liabilities 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 Topic 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 Notes 5 and 17 for further information about our revenue from contracts with customers.

 

F- 13

 

Inventories

 

Inventories are valued at cost on a first-in, first-out basis, not in excess of net realizable 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. We incurred excess and obsolete inventory charges of $544 and $771 for the years ended December 31, 2023 and 2022, respectively.

 

Property and Equipment

Machinery and equipment 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 previously discussed above under "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 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. Total depreciation expense was $1,021 and $809 for the years ended December 31, 2023 and 2022, respectively.

 

Leases

 

We account for leases in accordance with ASC Topic 842 (Leases). 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 Topic 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 Topic 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 8 for further disclosures regarding our leases.

 

F- 14

 

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 Notes 3 and 10. The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with 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. 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.

 

Contingent Liability for Repayment of State and Local Grant Funds Received

 

In connection with leasing a facility in Rochester, New York, which our subsidiary, 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 $550 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 are required to create and maintain specified levels of employment in this location through various dates ending in 2024. If we fail to meet these employment targets, we may be required to repay a proportionate share of the proceeds. At December 31, 2023, $193 of the total proceeds received could still be required to be repaid if we do not meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are no longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the 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 $246 at December 31, 2023. At December 31, 2023, we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester.

 

 

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. See further disclosures related to our stock-based compensation plans in Note 13.

 

Engineering and Product Development

 

Engineering and product development costs, which consist primarily of the salary and related benefits costs of our technical staff, as well as the cost of materials used in product development, are expensed as incurred.

 

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 year ended December 31, 2023, net foreign currency transaction gains were $9. For the year ended December 31, 2022, net foreign currency transaction losses were $109.

 

Income Taxes

The asset and liability method is used in accounting for 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. See Note 11 for additional information regarding income taxes.

 

Net Earnings Per Common Share

Net earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Net earnings per common share - diluted is computed by dividing net earnings 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 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.

 

F- 15

 

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 per share because their effect was anti-dilutive:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 
         

Weighted average common shares outstanding–basic

  11,461,399   10,673,017 

Potentially dilutive securities:

        

Unvested shares of restricted stock and employee stock options

  318,513   189,521 

Weighted average common shares and common share equivalents outstanding–diluted

  11,779,912   10,862,538 

Average number of potentially dilutive securities excluded from calculation

  140,079   478,024 

 

Effect of Recently Adopted Amendments to Authoritative Accounting Guidance

 

In June 2016, the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In November 2019, the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after December 15, 2022. The amendments replaced the incurred loss impairment methodology under previous GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on January 1, 2023. The adoption of these amendments did not have any impact on our consolidated financial statements.

 

Effect of Recently Issued Amendments to Authoritative Accounting Guidance

 

In November 2023, the FASB issued amendments to the guidance for disclosures about reportable segments which require disclosures of significant expenses by segment and interim disclosure of items that were previously required on an annual basis. The amendments are to be applied on a retrospective basis and are effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.

 

In December 2023, the FASB issued amendments to the guidance for disclosures about income tax which provide for additional disclosures primarily related to the income tax rate reconciliations and income taxes paid. 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 are evaluating the impact of the amendments on disclosures in our consolidated financial statements.

   

 

(3)

FAIR VALUE MEASUREMENTS

 

ASC Topic 820 (Fair Value Measurement) 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.

 

F- 16

 

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.

 

Recurring Fair Value Measurements

 

The interest rate swap agreement we entered into in connection with our Term Note, as discussed further in Notes 2 and 10, is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheets 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. Our acquisition of Acculogic and this liability are both discussed further in Note 3 to our consolidated financial statements in our Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”) filed on March 22, 2023 with the Securities and Exchange Commission. As of December 31, 2023, this liability was classified as long-term. As of December 31, 2022, $324 of this liability was classified as current and was included in Other Current Liabilities on our balance sheet. During the year ended December 31, 2023, the total amount of this liability was adjusted down by $294 as a result of a reduction in our forecast for sales to EV and battery customers in the five-year period following the acquisition. The decrease in the amount of the liability during 2023 was included in General and Administrative Expenses on our statement of operations.

 

The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

At December 31, 2023

                

Contingent consideration liability – Acculogic

 $(1,093) $-  $-  $(1,093)

Interest rate swap

 $285  $-  $285  $- 

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

At December 31, 2022

                

Contingent consideration liability – Acculogic

 $(1,363) $-  $-  $(1,363)

Interest rate swap

 $528  $-  $528  $- 

 

Changes in the fair value of our Level 3 contingent consideration liabilities for the years ended December 31, 2023 and 2022 were as follows:

 

Balance - January 1, 2022

 $1,109 

Payout of contingent consideration related to the acquisition of Z-Sciences

  (179)

Adjustment to contingent consideration liability in connection with the acquisition of Acculogic

  500 

Impact of foreign currency translation adjustments

  (67)

Balance - December 31, 2022

  1,363 

Adjustment to contingent consideration liability in connection with the acquisition of Acculogic

  (294)

Impact of foreign currency translation adjustments

  24 

Balance - December 31, 2023

 $1,093 

   

 

(4)

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. 

 

F- 17

 

Goodwill

Changes in the amount of the carrying value of goodwill for the years ended December 31, 2023 and 2022 are as follows:

 

Balance - January 1, 2022

 $21,448 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  451 

Impact of foreign currency translation adjustments

  (294)

Balance - December 31, 2022

  21,605 

Impact of foreign currency translation adjustments

  123 

Balance - December 31, 2023

 $21,728 

 

Goodwill was comprised of the following at December 31, 2023 and 2022:

 

  

December 31,

 
  

2023

  

2022

 

Electronic Test

 $3,436  $3,369 

Environmental Technologies

  1,817   1,817 

Process Technologies

  16,475   16,419 

Total Goodwill

 $21,728  $21,605 

 

 

Intangible Assets

Changes in the amount of the carrying value of indefinite-lived intangible assets for the year ended December 31, 2023 and 2022 are as follows:

 

Balance - January 1, 2022

 $8,428 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  20 

Impact of foreign currency translation adjustments

  (79)

Balance - December 31, 2022

  8,369 

Impact of foreign currency translation adjustments

  29 

Balance - December 31, 2023

 $8,398 

 

Changes in the amount of the carrying value of finite-lived intangible assets for the years ended December 31, 2023 and 2022 are as follows:

 

Balance - January 1, 2022

 $13,206 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  29 

Impact of foreign currency translation adjustments

  (351)

Amortization

  (2,694)

Balance - December 31, 2022

  10,190 

Impact of foreign currency translation adjustments

  102 

Amortization

  (2,094)

Balance - December 31, 2023

 $8,198 

 

The following tables provide further detail about our intangible assets at December 31, 2023 and 2022:

 

  

December 31, 2023

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,407  $9,687  $6,720 

Technology

  2,895   1,417   1,478 

Patents

  590   590   - 

Backlog

  499   499   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,801   12,603   8,198 

Indefinite-lived intangible assets:

            

Trademarks

  8,398   -   8,398 

Total intangible assets

 $29,199  $12,603  $16,596 

 

F- 18

 
  

December 31, 2022

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,313  $7,990  $8,323 

Technology

  2,855   988   1,867 

Patents

  590   590   - 

Backlog

  492   492   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,660   10,470   10,190 

Indefinite-lived intangible assets:

            

Trademarks

  8,369   -   8,369 

Total intangible assets

 $29,029  $10,470  $18,559 

 

 

 

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.

 

The following table sets forth the estimated annual amortization expense for each of the next five years:

 

2024

 $1,973 

2025

 $1,774 

2026

 $1,163 

2027

 $667 

2028

 $534 

 

Impairment of Goodwill and Indefinite Life Intangible Assets

During October 2023 and 2022, we assessed our goodwill and indefinite life intangible asset for impairment in accordance with the requirements of ASC Topic 350 using a quantitative approach. Our 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 discount rate used in 2023 for the discounted cash flows ranged between 14.5% and 16.0% depending on the reporting unit. The discount rate used in 2022 for the discounted cash flows ranged between 16.5% and 18.0% depending on the reporting unit. The selection of the rates in each year was based upon our analysis of market-based estimates of capital costs and discount rates. 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.

 

During the goodwill impairment assessment in both 2023 and 2022, we compared the fair value of our reporting units with their carrying values. This assessment indicated no impairment existed as the fair value of the reporting units exceeded their carrying values in both 2023 and 2022.

During the indefinite life intangible asset impairment assessment in both 2023 and 2022, we compared the fair value of our indefinite life intangible assets with their carrying values. This assessment indicated no impairment existed as the fair value of the indefinite life intangible assets exceeded their carrying values in both 2023 and 2022. 

 

F- 19

 

Impairment of Long-Lived Assets and Finite-lived Intangible Assets

During 2023 and 2022, we did not review any of our long-lived assets for impairment as there were no events or changes in business circumstances that would indicate an impairment might exist.

   

 

(5)

REVENUE FROM CONTRACTS WITH CUSTOMERS

 

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 also Note 17 for information about revenue by operating segment and geographic region.

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue by customer type:

        

End user

 $85,397  $84,468 

OEM/Integrator/Distributor

  37,905   32,360 
  $123,302  $116,828 

Revenue by product type:

        

Thermal test

 $21,344  $22,246 

Thermal process

  44,914   38,574 

Semiconductor test

  30,235   28,529 

Video imaging

  9,086   9,499 

Flying probe and in-circuit testers

  6,981   7,414 

Service/other

  10,742   10,566 
  $123,302  $116,828 

Revenue by market:

        

Semi

 $65,735  $68,422 

Industrial

  14,310   10,038 

Automotive (including Electric Vehicles)

  9,895   10,776 

Life Sciences

  4,856   4,589 

Defense/aerospace

  12,537   7,006 

Security

  3,688   3,241 

Other

  12,281   12,756 
  $123,302  $116,828 

    

 

(6)

MAJOR CUSTOMERS

 

During the year ended December 31, 2023, one customer accounted for 13% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. During the year ended December 31, 2023, no other customer accounted for 10% or more of our consolidated revenue. During the year ended December 31, 2022, no customer accounted for 10% or more of our consolidated revenue.

   

 

(7)

INVENTORIES

 

Inventories held at December 31 were comprised of the following:

 

  

2023

  

2022

 

Raw materials

 $15,948  $16,888 

Work in process

  1,563   2,432 

Inventory consigned to others

  98   59 

Finished goods

  2,480   3,186 

Total inventories

 $20,089  $22,565 

 

F- 20

   
 

(8) 

LEASES 

 

As previously discussed in Note 2, we account for our leases in accordance with the guidance in ASC Topic 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2031. Total operating lease and short-term lease costs for the years ended December 31, 2023 and 2022, respectively, were as follows: 

 

  

Years Ended December 31,

 
  

2023

  

2022

 
         

Operating lease cost

 $1,590  $1,340 

Short-term lease cost

 $13  $81 

 

The following is additional information about our leases at December 31, 2023:

 

Range of remaining lease terms (in years)

 0.3to7.3 

Weighted average remaining lease term (in years)

  4.3  

Weighted average discount rate

  4.6%  

 

Maturities of lease liabilities at December 31, 2023 were as follows:

 

2024

 $2,078 

2025

  1,232 

2026

  931 

2027

  761 

2028

  361 

Thereafter

  584 

Total lease payments

 $5,947 

Less imputed interest

  (525)

Total

 $5,422 

 

Cash Flow Information

 

Total amortization of ROU assets for the years ended December 31, 2023 and 2022 was $1,567 and $1,241, respectively.

 

Lease Modifications and Additions

Supplemental cash flow information related to leases for the years ended December 31, 2023 and 2022 was as follows: 

 

Year ended December 31, 2023

 

Non-cash increases in operating lease liabilities and ROU assets as a result of acquisitions and the execution of new leases:

 

  

Operating

Lease

Liabilities

  

ROU Assets

 

Addition to facility leases – Environmental Technologies

 $90  $90 

Addition to automobile leases – Process Technologies

 $30  $30 

Addition to automobile leases – Process Technologies

 $41  $41 

Addition to facility leases – inTEST SE Asia

 $455  $455 

Extension of facility lease – Process Technologies

 $136  $136 

 

During the three months ended March 31, 2023, we entered into a 25-month lease for a facility for our Environmental Technologies segment’s operation in Germany. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $90. During this same period, we entered into a 36-month lease for a car for one of the employees of our Process Technologies segment who is based in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $30.

 

During three months ended June 30, 2023, we entered into a 48-month lease for a car for one of the employees of our Process Technologies segment who is based in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities totaling approximately $41.

 

F- 21

 

During the three months ended December 31, 2023, we entered into a 36-month lease for a facility for our inTEST SE Asia operation which we expect will begin operations at some point in 2024, as discussed further in Note 1. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $455. During this same period, we entered also extended the lease for our Process Technologies operations in the Netherlands for an additional 36 months. At the effective date of this modification, we recorded non-cash increases in our ROU assets and operating lease liabilities totaling approximately $136.

 

Year ended December 31, 2022

 

Non-cash increases in operating lease liabilities and ROU assets as a result of acquisitions and the execution of new leases:

 

  

Operating

Lease

Liabilities

  

ROU Assets

 

Extension of facility lease – Singapore

 $51  $51 

Addition to automobile leases – Videology

 $42  $42 

Addition to facility leases – Acculogic

 $942  $942 

Addition to facility leases – Acculogic

 $127  $127 

 

During three months ended March 31, 2022, we executed an amendment to the lease for our facility in Singapore which extended the term for a period of 24 months commencing on April 1, 2022 and expiring on March 31, 2024. At the effective date of this modification, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $51.

 

During the three months ended September 30, 2022, we executed a 48-month lease for an automobile for our Videology operation in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $42.

 

During the three months ended December 31, 2022, we executed a 62-month lease for a new facility for our Acculogic operation in Canada and a 37-month lease for a new facility for our Acculogic operation in California. At the effective dates of these leases, we recorded non-cash increases in our ROU assets and operating lease liabilities of approximately $942 and $127, respectively.

   

 

(9)

OTHER CURRENT LIABILITIES

 

Other current liabilities at December 31 were comprised of the following:

 

  

2023

  

2022

 

Accrued warranty

 $648  $673 

Accrued taxes

  57   83 

Current portion of deferred grant proceeds

  55   38 

Accrued interest

  52   61 

Current portion of contingent consideration

  -   324 

Other

  669   385 

Total other current liabilities

 $1,481  $1,564 

   

 

(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 Restricted Certificates of Deposit on our consolidated 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 December 31, 2023 and December 31, 2022 consisted of the following:

 

   

L/C

 

Lease

 

Letters of Credit
Amount Outstanding

 

Facility

Original L/C
Issue Date

 

Expiration
Date

 

Expiration
Date

 

Dec. 31
2023

  

Dec. 31
2022

 

Mt. Laurel, NJ

3/29/2010

 

4/30/2024

 

4/30/2031

 $50  $50 

Mansfield, MA

10/27/2010

 

12/31/2024

 

12/31/2024

  50   50 
       $100  $100 

 

F- 22

 

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, on October 28, 2021, was amended by the Joinder and Amendment to Amended and Restated Loan and Security Agreement and which, on December 30, 2021, was further amended by the Joinder and Second Amendment to Amended and Restated Loan and Security Agreement (as amended, the “Loan Agreement”).

 

The Loan Agreement included a $25,000 non-revolving delayed draw term note (the “Term Note”) and a $10,000 revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility had a five-year contract period that began on the Closing Date and expired on October 15, 2026, and draws under the Term Note were permissible for two years.

 

On September 20, 2022, we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement, as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note. Under the Amended Loan Agreement, the maximum loan amount that we may borrow under the Term Note increased from $25,000 to $50,500, which raises the available funding at December 31, 2023 to $30,000. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to September 19, 2027 (the “Contract Period”). At December 31, 2023, we had not borrowed any amounts under the $10,000 Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement.

 

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 Amended 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 Amended 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 Amended 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 non-default interest rate. The Amended 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 Amended 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 December 31, 2023, we were in compliance with all of the covenants included in the Credit Facility including the debt covenants of the Amended Loan Agreement.

 

On October 28, 2021, we drew $12,000 under the Term Note to finance the acquisition of Videology as discussed in Note 12 to our consolidated financial statements in our 2022 Form 10-K. 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,500 under the Term Note to finance the acquisition of Acculogic as discussed in Note 12 to our consolidated financial statements in our 2022 Form 10-K. 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 December 31, 2023, it was approximately 7.4% based on current leverage. Effective March 1, 2024, this rate was unchanged.

 

The following table sets forth the remaining maturities of long-term debt:

 

2024

 $4,100 

2025

  4,100 

2026

  3,842 
  $12,042 

 

F- 23

   
 

(11) 

INCOME TAXES

 

We are subject to Federal and certain state income taxes. In addition, we are taxed in certain foreign countries.

Earnings before income taxes was as follows:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Domestic

 $9,600  $9,575 

Foreign

  1,448   570 

Total

 $11,048  $10,145 

 

Income tax expense was as follows:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Current

        

Domestic – Federal

 $2,139  $2,892 

Domestic – state

  202   263 

Foreign

  522   267 

Total

 $2,863  $3,422 

Deferred

        

Domestic – Federal

 $(1,052) $(1,344)

Domestic – state

  31   (190)

Foreign

  (136)  (204)

Total

  (1,157)  (1,738)

Income tax expense

 $1,706  $1,684 

 

Deferred income taxes reflect the net tax effect of net operating loss and tax credit carryforwards as well as temporary differences between the carrying amount of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. The following is a summary of the significant components of our deferred tax assets and liabilities at December 31, 2023 and 2022:

 

  

December 31,

 
  

2023

  

2022

 

Deferred tax assets:

        

Capitalized research and development costs

 $2,320  $1,260 

Operating lease liabilities

  859   1,125 

Accrued vacation pay and stock-based compensation

  433   465 
Inventories  395   602 
Intangible assets  369   140 

Net operating loss (state and foreign)

  245   285 
Acquisition costs  44   46 

Allowance for doubtful accounts

  44   43 

Accrued warranty

  26   54 

Tax credit carryforwards

  -   89 

Other

  62   - 

Total

  4,797   4,109 

Valuation allowance

  (245)  (227)

Deferred tax assets

  4,552   3,882 

Deferred tax liabilities:

        

Intangible assets

  (1,949)  (2,101)

Right-of-use assets

  (762)  (996)

Depreciation of property and equipment

  (404)  (385)

Other

  -   (120)

Deferred tax liabilities

  (3,115)  (3,602)

Net deferred tax assets

 $1,437  $280 

 

F- 24

 

The net change in the valuation allowance for the years ended December 31, 2023 and 2022 was an increase of $18 and $163, respectively. In assessing the ability to realize the deferred tax assets, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during periods in which those temporary differences become deductible. We consider the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies in making this assessment. In order to fully realize the total deferred tax assets, we will need to generate future taxable income prior to the expiration of net operating loss and tax credit carryforwards which expire in various years through 2040. 

 

An analysis of the effective tax rate for the years ended December 31, 2023 and 2022 and a reconciliation from the expected statutory rate of 21% is as follows:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Expected income tax expense at U.S. statutory rate

 $2,320  $2,131 

Increase (decrease) in tax from:

        

Dividend from foreign subsidiaries

  184   127 

NOL carryforwards utilized

  39   (80)

Stock compensation

  (329)  77 

Global intangible low taxed income

  87   66 

Nondeductible expenses

  21   11 

Current year tax credits (foreign and research)

  (367)  (465)

Domestic tax benefit, net of Federal benefit

  (167)  87 

Changes in valuation allowance

  18   163 

Foreign income tax rate differences

  109   147 

Section 250 foreign derived intangible income deduction

  (272)  (563)

Other

  63   (17)

Income tax expense

 $1,706  $1,684 

 

In accounting for income taxes, we follow the guidance in ASC Topic 740 (Income Taxes) regarding the recognition and measurement of uncertain tax positions in our financial statements. Recognition 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 statement of operations. At December 31, 2023 and 2022, we did not have an accrual for uncertain tax positions.

 

We file U.S. income tax returns and multiple state and foreign income tax returns. With few exceptions, the U.S. and state income tax returns filed for the tax years ended December 31, 2020 and thereafter are subject to examination by the relevant taxing authorities.

   

 

(12) 

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 legal proceedings the resolution of which we believe could have a material effect on our business, financial position, results of operations or long-term liquidity.

   

 

(13) 

STOCK-BASED COMPENSATION PLAN

 

As of December 31, 2023, we had unvested restricted stock awards and stock options granted under 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.

 

F- 25

 

Our unvested restricted stock awards and stock options are accounted for based on their grant date fair value. At December 31, 2023, total compensation expense to be recognized in future periods is $2,957. The weighted average period over which this expense is expected to be recognized is 2.0 years.

 

The following table summarizes the compensation expense we recorded during 2023 and 2022 related to unvested shares of restricted stock and stock options:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Cost of revenues

 $104  $62 

Selling expense

  41   32 

Engineering and product development expense

  19   51 

General and administrative expense

  1,883   1,642 
  $2,047  $1,787 

 

There was no compensation expense capitalized in 2023 or 2022. 

 

Stock Options

We record compensation expense for stock options based on the fair market value of the options as of the grant date. 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.

 

The fair value for stock options granted during 2023 and 2022 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:

 

  

2023

  

2022

 

Risk-free interest rate

  3.93%  2.05%

Dividend yield

  0.00%  0.00%

Expected common stock market price volatility factor

  .57   .55 

Weighted average expected life of stock options (years)

  6.25   6.25 

 

The per share weighted average fair value of stock options issued during 2023 and 2022 was $9.43 and $4.53, respectively.

 

The following table summarizes the activity related to stock options for the two years ended December 31, 2023:

 

  

Number
of Shares

  

Weighted
Average
Exercise Price

 

Options outstanding, January 1, 2022

  408,869  $9.07 

Granted

  202,540   8.45 

Exercised

  (8,060)  4.74 

Canceled

  (22,930)  9.10 

Options outstanding, December 31, 2022 (167,886 exercisable)

  580,419   8.91 

Granted

  93,860   16.25 

Exercised

  (124,550)  7.85 

Canceled

  (44,723)  9.77 

Options outstanding, December 31, 2023 (171,735 exercisable)

  505,006   10.46 

 

Restricted Stock Awards

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 and over one year for our independent directors (25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted).

 

Since August 2020, we have increasingly granted performance-based restricted stock awards where the ultimate number of shares that vest can vary between 0% and 150% of the amount of the original award and is based on the achievement of specified performance metrics. Vesting for these awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for these 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 adjustment, as needed. Our initial assumption at the grant date of these awards is that the award will vest at the 100% level. Additional information on specific performance-based awards that have been issued is discussed below under “Performance-Based Awards.”

 

F- 26

 

The following table summarizes the activity related to unvested restricted stock awards for the two years ended December 31, 2023:

 

  

Number
of Shares

  

Weighted
Average
Grant Date
Fair Value

 

Unvested shares outstanding, January 1, 2022

  262,533  $7.16 

Granted

  123,533   9.21 

Vested

  (91,672)  8.04 

Forfeited

  (5,944)  9.16 

Unvested shares outstanding, December 31, 2022

  288,450   7.80 

Granted

  97,461   16.43 

Vested

  (178,636)  8.21 

Forfeited

  (17,491)  10.08 

Unvested shares outstanding, December 31, 2023

  189,784   11.51 

 

The total fair value of the restricted stock awards that vested during the years ended December 31, 2023 and 2022 was $3,132 and $643, respectively, as of the vesting dates of these awards. 

 

 

Performance-Based Awards

On August 24, 2020, our new President and Chief Executive Officer ("CEO") received a performance-based restricted stock award totaling 75,162 shares with a vesting date of August 24, 2023. These shares were valued at $345 as of the date of grant. Per the terms of the award, the final vesting percentage could range from 0% to 150% of the number of shares awarded on August 24, 2020. On June 14, 2021, our new Chief Financial Officer ("CFO") received a performance-based restricted stock award totaling 5,953 shares. These shares were valued at $100 as of the date of grant. The vesting provisions of this award are the same as the performance-based award granted to our CEO on August 24, 2020. The final vesting percentage is based on the achievement of certain performance metrics, including revenue compound annual growth rate and diluted earnings per share excluding amortization of intangibles, for specified time periods as determined by the Compensation Committee of our Board of Directors. At December 31, 2022, we had estimated that these awards would vest at 150% of the original amount based on our assessment of the probable achievement against the relevant performance metrics. These awards vested at the 150% level on August 24, 2023. As a result, 40,557 additional shares of common stock were issued. At the original grant dates of these awards, shares totaling 100% of the respective awards were issued. These additional shares issued on August 24, 2023 represented the additional 50% that vested.

 

On March 10, 2021, we issued performance-based restricted stock awards totaling 18,000 shares to members of the senior management within our operating segments. These shares were valued at $191 as of the date of grant. These shares will 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 10, 2021. The final vesting percentage will be based on the achievement of certain performance metrics for the year ended December 31, 2023 related to the operating results of the business units for which these members of management are responsible. During the fourth quarter of 2022, we reduced the expected final vesting percentage for 6,000 of these shares to 0% based on the projected operating results for the related business unit for the relevant measurement period for the performance metrics. During the fourth quarter of 2023, we reduced the expected final vesting percentage for the remaining 12,000 shares from 100% to 88% based on actual operating results through December 31, 2023 for the related business units. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $14. This adjustment was recorded in general and administrative expense in our statement of operations. The 6,000 shares for which the vesting percentage had been reduced to 0% were forfeited in the first quarter of 2023 when the individual to whom they were granted terminated their employment with us.

 

On March 9, 2022, our CEO and CFO received performance-based restricted stock awards totaling 20,493 shares. These shares were valued at $200 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 9, 2022. The final vesting percentage will be based on the achievement of certain performance metrics, including revenue compound annual growth rate, for specified time periods as determined by the Compensation Committee of our Board of Directors. During the fourth quarter of 2023, we reduced the expected final vesting percentage for these shares from 100% to 50% based on our current projection for the performance metrics for the relevant measurement period. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $60. This adjustment was recorded in general and administrative expense in our statement of operations.

 

F- 27

 

On October 1, 2021, we issued performance-based restricted stock awards totaling 5,000 shares to a member of senior management. These shares were valued at $59 as of the date of grant. These shares will vest on January 1, 2025 at a vesting percentage that could range from 0% to 150% of the number of shares awarded on October 1, 2021. The final vesting percentage will be based on the achievement of certain performance metrics, including revenue compound annual growth rate and diluted earnings per share excluding amortization of intangibles, for specified time periods. During the fourth quarter of 2023, we reduced the expected final vesting percentage for these shares from 100% to 50% based on our current projection for the performance metrics for the relevant measurement period. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $20. This adjustment was recorded in general and administrative expense in our statement of operations.

On March 8, 2023, our CEO, CFO and certain other members of our senior management received performance-based restricted stock awards totaling 18,888 shares valued at $303 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 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. As of December 31, 2023, we have estimated that these shares will vest at 100% of the original amount.

On May 8, 2023 the newly appointed president of our Environmental Technologies segment received performance-based restricted stock awards totaling 5,081 shares valued at $108 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 May 8, 2023. 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 December 31, 2023, we have estimated that these shares will vest at 100% of the original amount.

   

 

(14) 

STOCK REPURCHASE PLANS

 

On November 20, 2023, our Board of Directors authorized a 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,000 until November 2024. 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. As of December 31, 2023, no shares had been repurchased under the Repurchase Plan. 

   

 

(15) 

EMPLOYEE STOCK PURCHASE PLAN

 

The inTEST Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by our Board of Directors in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021 at our Annual Meeting of Stockholders. The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a discounted purchase price. The ESPP became effective on October 1, 2021.

 

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.

 

During the year ended December 31, 2023, employees purchased 11,780 shares of our stock through the ESPP at a cost of $174. The closing market price on the dates of purchase were $20.74, $26.26, $15.17 and $13.60, respectively. The prices paid by employees were $17.63, $22.32, $12.89 and $11.56, respectively, which represented a 15% discount. The total amount of the discount of $31 was recorded as compensation expense in our consolidated statements of operations.

During the year ended December 31, 2022, employees purchased 27,162 shares of our stock through the ESPP at a cost of $197. The closing market price on the dates of purchase were $10.73, $6.82, $7.63 and $10.30, respectively. The prices paid by employees were $9.12, $5.80, $6.49 and $8.76, respectively, which represented a 15% discount. The total amount of the discount of $36 was recorded as compensation expense in our consolidated statements of operations. 

   

 

(16) 

EMPLOYEE BENEFIT PLANS

 

We have defined contribution 401(k) plans for our employees who work in the U.S. These plans include the inTEST Corporation Incentive Savings Plan (the “inTEST Plan”) and the Ambrell Corporation Savings & Profit Sharing Plan (the "Ambrell Plan"). During the quarter ended September 30, 2023, the Ambrell Plan, which is discussed further below, was merged into the inTEST Plan.
 

F- 28

 

As of December 31, 2023, 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 Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5. Employer contributions vest ratably over four years. Matching contributions are discretionary.

 

Prior to the merger with the inTEST Plan, all permanent employees of Ambrell were immediately eligible to participate in the Ambrell Plan upon employment and were eligible for employer matching contributions after completing six months of service, as defined in the Ambrell Plan. The Ambrell Plan allowed eligible employees to make voluntary contributions up to 100% of compensation, up to the federal government contribution limits. We made a matching contribution of 50% of each employee's contributions up to a maximum of 10% of the employee's deferral with a maximum limit of $5.

 

For the years ended December 31, 2023 and 2022, we recorded expense for matching contributions to both plans of $767 and $747, respectively.

   

 

(17) 

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), 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 automotive, defense/aerospace, industrial, life sciences, 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 and acquired intangible amortization.
 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue:

        

Electronic Test

 $41,016  $40,219 

Environmental Technologies

  30,801   30,172 

Process Technologies

  51,485   46,437 

Total Revenue

 $123,302  $116,828 
         

Division operating income:

        

Electronic Test

 $10,189  $9,931 

Environmental Technologies

  3,073   3,817 

Process Technologies

  9,544   8,230 

Total division operating income

  22,806   21,978 
         

Corporate expenses

  (10,272)  (8,563)

Acquired intangible amortization

  (2,095)  (2,694)

Interest expense

  (679)  (635)

Other income

  1,288   59 

Earnings before income tax expense

 $11,048  $10,145 

 

  

December 31,

 
  

2023

  

2022

 

Identifiable assets:

        

Electronic Test

 $32,505  $31,143 

Environmental Technologies

  16,772   18,040 

Process Technologies

  56,842   56,866 

Corporate

  28,710   4,017 
  $134,829  $110,066 
         

Capital expenditures:

        

Electronic Test

 $599  $80 

Environmental Technologies

  495   368 

Process Technologies

  170   543 

Corporate

  27   374 
  $1,291  $1,365 

 

F- 29

 

The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue:

        

U.S.

 $45,222  $49,096 

Foreign

  78,080   67,732 
  $123,302  $116,828 

 

  

December 31,

 
  

2023

  

2022

 

Property and equipment:

        

U.S.

 $2,502  $2,658 

Foreign

  688   474 
  $3,190  $3,132 

   

 

(18) 

QUARTERLY CONSOLIDATED FINANCIAL DATA (Unaudited)

 

The following tables present certain unaudited consolidated quarterly financial information for each of the eight quarters ended December 31, 2023. In our opinion, this quarterly information has been prepared on the same basis as the consolidated financial statements and includes all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the information for the periods presented. The results of operations for any quarter are not necessarily indicative of results for the full year or for any future period.  

 

Year-over-year quarterly comparisons of our results of operations may not be as meaningful as the sequential quarterly comparisons set forth below that tend to reflect the cyclical and seasonal activity of the semi market. Quarterly fluctuations in expenses are related directly to sales activity and volume and may also reflect the timing of operating expenses incurred throughout the year.
 

  

Quarters Ended

     
  

3/31/23

  

6/30/23

  

9/30/23

  

12/31/23

  

Total

 

Revenue

 $31,919  $32,558  $30,941  $27,884  $123,302 

Gross profit

  15,052   15,030   14,447   12,449   56,978 

Earnings before income tax expense

  3,394   3,365   2,723   1,566   11,048 

Income tax expense

  577   572   446   111   1,706 

Net earnings

  2,817   2,793   2,277   1,455   9,342 
                     

Net earnings per common share – basic

 $0.26  $0.25  $0.19  $0.12  $0.82 

Weighted average common shares outstanding – basic

  10,755,729   11,241,183   11,886,005   11,962,679   11,461,399 

Net earnings per common share – diluted

 $0.25  $0.24  $0.19  $0.12  $0.79 

Weighted average common shares outstanding – diluted

  11,088,664   11,696,569   12,212,317   12,122,099   11,779,912 

 

 

  

Quarters Ended

     
  

3/31/22

  

6/30/22

  

9/30/22

  

12/31/22

  

Total

 

Revenue

 $24,081  $29,571  $30,771  $32,405  $116,828 

Gross margin

  11,013   13,548   13,898   14,981   53,440 

Earnings before income tax expense

  655   2,570   3,039   3,881   10,145 

Income tax expense

  78   454   515   637   1,684 

Net earnings

  577   2,116   2,524   3,244   8,461 
                     

Net earnings per common share – basic

 $0.05  $0.20  $0.24  $0.30  $0.79 

Weighted average common shares outstanding – basic

  10,617,271   10,653,268   10,695,867   10,725,662   10,673,017 

Net earnings per common share – diluted

 $0.05  $0.20  $0.23  $0.30  $0.78 

Weighted average common shares outstanding – diluted

  10,842,592   10,814,799   10,864,540   10,928,220   10,862,538 

 

F- 30

 
    
 

(19) 

SUBSEQUENT EVENTS

 

ACQUISITION

 

On March 12, 2024 we entered into a stock purchase agreement to acquire all of the outstanding capital shares of Alfamation S.p.A., (“Alfamation”), a leading global provider of state-of-the-art test and measurement solutions for the automotive, life sciences and specialty consumer electronics markets. Alfamation was founded in 1991 and is headquartered in Milan, Italy. Alfamation also has a small sales and service subsidiary based in Suzhou City, China. Alfamation will become a part of our Electronic Test operating segment. The aggregate purchase price was approximately EUR 20,000 comprised of approximately EUR 18,000 in cash, 187,432 shares of our common stock and an additional approximately EUR 542 in cash for assets delivered at closing in excess of agreed upon thresholds. On the closing date, this equated to a total purchase price of approximately $22,358.

 

In connection with the acquisition, we have entered into a lease agreement (the “Lease Agreement”) with the former owner of Alfamation. The Lease Agreement will last for six years starting on March 12, 2024 and will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Lease Agreement, Alfamation will lease warehouse and office space totaling about 51,817 square feet. Alfamation will pay a yearly lease payment of  EUR 231 broken up into four equal payments. At the date of the signing of the lease, this yearly lease payment equated to approximately $253.

 

RESTATEMENT OF PREVIOUSLY ISSUED CONSOLIDATED FINANCIAL STATEMENTS

 

On March 27, 2024, prior to the filing of this Report, we filed a Form 10-Q/A to amend our Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2023, as filed with the SEC on November 9, 2023. The Form 10-Q/A was filed to restate our unaudited consolidated financial statements for the three and nine months ended September 30, 2023.  The restatement reflected the reversal of revenue related to the sale of discontinued material/components purchased on behalf of customers where the associated materials/components were still physically located with us and the materials/components are expected to be applied to future product orders for these customers. These transactions were all fully paid for and legal title for the material/components has transferred to the customer. However, these facts alone are not sufficient for revenue recognition under U.S. GAAP for such an arrangement. These adjustments were evaluated by management in accordance with SEC Staff Accounting Bulletin Topic 1M, "Materiality" and management determined the effects of the restatement to be material. See Note 3 to the unaudited consolidated financial statements included in the Form 10-Q/A filed on March 27, 2024 for further information regarding the restatement. All amounts in this Report have been adjusted to reflect the effect of the restatement as applicable.

 

F- 31

 
 

inTEST CORPORATION
SCHEDULE II -- VALUATION AND QUALIFYING ACCOUNTS
(in thousands)

 

  

Balance at
Beginning
of Period

  

Expense
(Recovery)(1)

  

Additions (Deductions)

  

Reserve

Amounts

Acquired

through

Business

Combinations

  

Foreign
Currency
Translation
Adjustments

  

Balance at
End of
Period

 
                         

Year Ended December 31, 2023

                        

Allowance for doubtful accounts

 $496  $-  $(19) $-  $(3) $474 

Warranty reserve

  673   351   (376)  -   -   648 
                         

Year Ended December 31, 2022

                        

Allowance for doubtful accounts

 $213  $5  $281  $-  $(3) $496 

Warranty reserve

  531   473   (315)  -   (16)  673 

 

(1)

Bad debt recoveries in the table above do not include $198 and $470 for the years ended December 31, 2023 and 2022, respectively, that relate to receivables acquired in 2021 that were valued at $0 at the time of acquisition but were subsequently recovered.

   

 

F-32
EX-10.33 2 ex_641549.htm EXHIBIT 10.33 ex_641549.htm

EXHIBIT 10.33

inTEST CORPORATION

 

OFFICER COMPENSATION PLAN

 

The Compensation Committee (the “Committee”) of the Board of Directors of inTEST Corporation (the “Company”) has approved a compensation plan for [     ] (each, a “Selected Officer”) for[     ]. The components of this plan include (i) base salary, (ii) short term incentive compensation in the form of a performance based bonus and (iii) long term incentive compensation in the form of equity compensation grants.

 

Base Salary

 

The base salary of the Selected Officers for [ ], effective on [ ], are as follows:

 

[           ]                                    

[           ]                                   

[           ]                                   

[           ]                                   

[           ]              

Base Salary

$[      ]

$[      ]

$[      ]

$[      ]

$[      ]

              

Short Term Incentive Compensation

 

The performance bonus payment target percentages to be used in the Selected Officers’ bonus calculation for [ ] are as follows:    

 

[           ]                                    

[           ]                                   

[           ]                                   

[           ]                                   

[           ]             

Target Percentage

[      ]%

[      ]%

[      ]%

[      ]%

[      ]%

 

`         The amount of a Selected Officer’s bonus may range from zero (if none of the performance metrics are satisfied) to an amount that may exceed the target performance bonus amounts.

 

Short Term Incentive Target and Performance Objectives

 

The Selected Officers will each be eligible to receive a performance bonus payment upon satisfaction of the following weighted performance metrics during 2024:

 

Performan Goal                           

[           ]                                    

[           ]                                   

[           ]                                   

[           ]                                   

[           ]             

Weighting

[      ]%

[      ]%

[      ]%

[      ]%

[      ]%

 

 

 

 

A Selected Officer’s respective performance bonus target percentage multiplied by his base salary; with that amount multiplied by the performance metric weighting factor; with that amount multiplied by the factor percentage, if any, determined from the matrix below. 

 

[matricies]

 

General

 

The Committee shall calculate and determine achievement of all components of the short term incentive compensation. In the case of financial achievements, the determination shall be based on amounts derived from the Company’s audited financial statements. The Committee reserves the right to make subjective determinations and interpretations regarding the impact of unusual circumstances or events on achievement of each performance metric component by the Selected Officers. All such determinations will apply to the Selected Officers in the same manner. The Committee shall have final decision making authority regarding all issues related to the short term incentive compensation component of the plan. The Committee shall finalize the amount of and authorize payment of the bonuses as part of the approval process for the Company’s [     ] audited financial statements. If a Selected Officer leaves the Company other than for death, disability, or retirement, he will receive no bonus if he is not employed on December 31, [     ].  If a Selected Officer retires (age plus years of service equal to at least 70), or dies or becomes disabled, he is entitled to a pro-rated bonus calculated by multiplying the bonus calculated above by the result obtained by dividing the number of completed months the Selected Officer is employed in [     ] by twelve (12). Any bonus payment shall be made on or before March 15, [     ]. The Committee shall have such authority to demand the repayment or “claw back” of any amounts paid pursuant to this plan pursuant to Company recovery policies and as needed to comply with all applicable laws and regulations.

 

Long Term Incentive Compensation

 

The Selected Officers shall be entitled to receive equity compensation grants consisting of restricted stock and stock options under the inTEST Corporation 2023 Stock Incentive Plan, as amended, with the following respective fair values:

 

 

[           ]                                    

[           ]                                   

[           ]                                   

[           ]                                   

[           ]             

Fair Value

$[      ]

$[      ]

$[      ]

$[      ]

$[      ]

 

All equity compensation grants shall be awarded to the Selected Officers on [               ] (the “Grant Date”). The fair value shall be allocated as follows: [     ]% time-vested restricted stock, [     ]% performance-vested restricted stock and [     ]% stock options. The number of shares to be awarded for the time-vested restricted stock and the performance-vested restricted stock components will each be determined by dividing the applicable fair value by the closing price of the Company’s shares on teh Grant Date, and the number of shares to be awarded for the stock options component will be determined by dividing the applicable fair value by the Black-Scholes value on the Grant Date, in each case, rounded to the nearest whole number of shares.

 

2

 

The time-vested restricted stock awards will vest [     ], the performance-vested restricted stock awards will vest [     ] (subject to the performance metrics set forth below) and the stock option awards will vest [      ].

 

The performance metric used for the shares of performance-vested restricted stock shall be [     ].

 

The following schedule shall determine how many shares of the performance vested restricted stock are delivered:

 

[schedule]

 

To achieve a given performance level, results must equal or exceed the threshold for that level, otherwise the percentage delivered shall be rounded down to the nearest point on the schedule.

 

*         *         *         *         *

 

 

3
EX-10.38 3 ex_641550.htm EXHIBIT 10.38 ex_641550.htm

EXHIBIT 10.38

 

 

 

COMPENSATORY ARRANGEMENTS OF DIRECTORS

 

 

Directors who are not also our officers (each a "non-employee director") currently receive an annual retainer of $25,000. The Board Chairman is paid an additional annual retainer of $40,000. The Chair of each of the committees of the Board are paid an additional annual fee as follows: the Chair of the Audit Committee is paid an additional annual fee of $20,000; the Chair of the Compensation Committee is paid an additional annual fee of $15,000; and the Chair of the Nominating and Corporate Governance Committee is paid an additional annual fee of $10,000. The members of the committees, other than the Chair, are paid additional annual fees as follows: members of the Audit Committee are paid an additional annual fee of $10,000, members of the Compensation Committee are paid an additional annual fee of $5,000, and members of the Nominating and Corporate Governance Committee are paid an additional annual fee of $5,000. Non-employee directors also receive an annual award of restricted stock under our 2023 Stock Incentive Plan. In addition, we reimburse non-employee directors' travel expenses and other costs associated with attending Board or committee meetings. We do not pay compensation to our executive officers for their service as directors.

 

 
EX-21 4 ex_641551.htm EXHIBIT 21 ex_641551.htm

 

EXHIBIT 21

 

 

 

 

 

Subsidiaries of the Registrant

 

 

 

Name of Subsidiaries

Jurisdiction
of Incorporation

Acculogic Ltd

Delaware

Ambrell Corporation

Delaware

inTEST EMS LLC (a)

Delaware

inTEST Italy

Delaware

inTEST Silicon Valley Corporation (a)

Delaware

Temptronic Corporation (b)

Delaware

Videology Imaging Corporation

Delaware

Acculogic Inc.

Ontario

Acculogic GmbH

Germany

Ambrell B.V.

Netherlands

Ambrell Limited

U.K.

inTEST PTE, Ltd.

Singapore

inTEST SE Asia Sdn Bhd

Malaysia

inTEST Thermal Solutions GmbH

Germany

 

(a)   Doing business as inTEST EMS.

(b)   Doing business as inTEST Thermal Solutions Corp.

 

 

 

 
EX-23 5 ex_644649.htm EXHIBIT 23 ex_644649.htm

Exhibit 23

 

 

Consent of Independent Registered Public Accounting Firm

 

 

We consent to the incorporation by reference in the Registration Statements (Nos. 333-145176, 333-197858, 333-226815, 333-233297, 333-258791, 333-266834, and 333-273886) on Form S-8 and the Registration Statement (No. 333-275451) on Form S-3 of inTEST Corporation of our reports dated March 27, 2024, relating to the consolidated financial statements and the financial statement schedule and the effectiveness of internal control over financial reporting (on which our report expresses an adverse opinion on the effectiveness of the Company’s internal control over financial reporting because of material weakness) of inTEST Corporation, appearing in this Annual Report on Form 10-K of inTEST Corporation for the year ended December 31, 2023.

 

/s/ RSM US LLP

 

Blue Bell, Pennsylvania

March 27, 2024

 

 

 
EX-31.1 6 ex_641552.htm EXHIBIT 31.1 ex_641552.htm

EXHIBIT 31.1

 

CERTIFICATION

 

I, Richard N. Grant, Jr., certify that:

 

1.    I have reviewed this annual report on Form 10-K 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:

March 27, 2024

 

/s/Richard N. Grant, Jr.

     

Richard N. Grant, Jr.

     

President and Chief Executive Officer

 

 
EX-31.2 7 ex_641553.htm EXHIBIT 31.2 ex_641553.htm

EXHIBIT 31.2

 

CERTIFICATION

 

I, Duncan Gilmour, certify that:

 

1.    I have reviewed this annual report on Form 10-K 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:

March 27, 2024

 

/s/ Duncan Gilmour

     

Duncan Gilmour

     

Chief Financial Officer, Treasurer and Secretary

 

 
EX-32.1 8 ex_641554.htm EXHIBIT 32.1 ex_641554.htm

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 Annual Report of inTEST Corporation (the "Company") on Form 10-K for the year ended December 31, 2023 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:

March 27, 2024

 

/s/ Richard N. Grant, Jr.

     

Richard N. Grant, Jr.

     

President and Chief Executive Officer

 

 
EX-32.2 9 ex_641555.htm EXHIBIT 32.2 ex_641555.htm

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 Annual Report of inTEST Corporation (the "Company") on Form 10-K for the year ended December 31, 2023 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:

March 27, 2024

 

/s/ Duncan Gilmour

     

Duncan Gilmour

     

Chief Financial Officer, Treasurer and Secretary

 

 
EX-97 10 ex_641556.htm EXHIBIT 97 ex_641556.htm

EXHIBIT 97

 

inTEST CORPORATION

 

POLICY FOR THE RECOVERY

OF ERRONEOUSLY AWARDED COMPENSATION

 

1.    Introduction

 

The Board (as defined below) of inTEST Corporation, a Delaware corporation (the “Company”), hereby adopts this Policy for the Recovery of Erroneously Awarded Compensation (as amended or restated from time to time, this “Policy”) in accordance with the requirements of the Recovery Rules (as defined below) to implement a written policy for the recovery of erroneously awarded compensation received by executive officers in the event of an accounting restatement. This Policy shall be effective as of November 22, 2023 the “Effective Date”).

 

2.    Definitions

 

For purposes of this Policy, the following capitalized terms shall have their respective meanings set forth below:

 

(a)    “Accounting Restatement” shall mean an accounting restatement (i) due to the material noncompliance of the Company with any financial reporting requirement under the federal securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements (a “Big R” restatement), or (ii) that corrects an error that is not material to previously issued financial statements, but would result in a material misstatement if the error were not corrected in the current period or left uncorrected in the current period (a “little r” restatement).

 

(b)    “Board” means the Board of Directors of the Company.

 

(c)    “Committee” means the Compensation Committee of the Board, or any other committee designated by the Board to administer this Policy, and in the absence of such a committee, a majority of the independent directors serving on the Board.

 

(d)    “Covered Erroneously Awarded Compensation” means the Erroneously Awarded Compensation Received by a Covered Executive Officer (i) during the applicable Recovery Period, (ii) on or after the Effective Date, (iii) after the Covered Executive Officer began service as an Executive Officer, and (iv) while the Company has a class of securities listed on a national securities exchange or a national securities association.

 

(e)    “Covered Executive Officer” means an individual who served as an Executive Officer at any time during the applicable performance period for the affected Incentive-Based Compensation (whether or not such individual is an Executive Officer at the time that Erroneously Awarded Compensation is required to be repaid under this Policy) and includes both current and former Executive Officers.

 

 

 

 

(f)    “Erroneously Awarded Compensation” means the amount of Incentive-Based Compensation Received that exceeds the amount of Incentive-Based Compensation that otherwise would have been Received had it been determined based on the restated amounts, computed without regard to any taxes paid.

 

(g)    “Exchange” means the New York Stock Exchange American.

 

(h)    “Exchange Act” means the Securities Exchange Act of 1934, as amended, and the rules and regulations promulgated thereunder.

 

(i)    “Executive Officer” means any current or former “officer” of the Company, as defined by Rule 16a-1(f) of the Exchange Act. The Committee shall have full discretion to determine which individuals in the Company and its subsidiaries shall be considered an “Executive Officer” for purposes of this Policy.

 

(j)     “Financial Reporting Measure” means a measure that is determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements, and any measure that is derived wholly or in part from such measures. Financial Reporting Measure shall also include the Company’s stock price and total shareholder return. A Financial Reporting Measure need not be presented within the Company’s financial statements or included in a filing with the SEC.

 

(k)    “Incentive-Based Compensation” means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure. Incentive-Based Compensation does not include compensation that is granted, earned and vests exclusively upon completion of a specified employment or other period, without any performance condition, and compensation that is discretionary or based on subjective goals or goals unrelated to a Financial Reporting Measure.

 

(l)     “Received” with respect to Incentive-Based Compensation means when the Incentive-Based Compensation is deemed received, which is the Company’s fiscal period during which the Financial Reporting Measure specified in the Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period.

 

(m)    “Recovery Period” means the three completed fiscal years of the Company immediately preceding the Restatement Date and any transition period (that results from a change in the Company’s fiscal year) of less than nine months within or immediately following those three completed fiscal years.

 

(n)    “Recovery Rules” means Section 10D of the Exchange Act and any applicable rules or standards adopted by the SEC (including Rule 10D-1 under the Exchange Act) and Section 811 of the NYSE American Listed Company Manual.

 

2

 

(o)     “Restatement Date” means the earlier of (i) the date that the Board, a committee of the Board, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement, and (ii) the date a court, regulator, or other legally authorized body directs the Company to prepare an Accounting Restatement.

 

(p)    “SEC” means the Securities and Exchange Commission.

 

3.    Recovery of Erroneously Awarded Compensation

 

(a)    In the event of an Accounting Restatement, the Committee shall reasonably promptly determine the amount of any Covered Erroneously Awarded Compensation Received by each Covered Executive Officer during the Recovery Period based on the Accounting Restatement and shall promptly provide each affected Covered Executive Officer with a written notice stating the amount of Covered Erroneously Awarded Compensation and a demand for repayment or return, as applicable.

 

(b)    Each Covered Executive Officer must comply with any request or demand for repayment or return within 45 days from the date such request or demand was sent (or by such later date specified in the request or demand, if any).

 

(c)    The Company’s obligation to recover Erroneously Awarded Compensation pursuant to this Policy is not dependent on whether or when the restated financial statements are filed. In addition, the recovery of Erroneously Awarded Compensation is required without regard to whether any misconduct occurred or an Executive Officer’s responsibility for the erroneous financial statements.

 

(d)    The Committee shall have broad discretion to determine the appropriate means of recovery of Erroneously Awarded Compensation based on all applicable facts and circumstances.

 

(e)    To the extent that a Covered Executive Officer fails to repay any or all Covered Erroneously Awarded Compensation to the Company when due, the Company shall take all actions reasonable and appropriate to promptly recover such Covered Erroneously Awarded Compensation from the Covered Executive Officer, and the Covered Executive Officer shall be required to reimburse the Company for any and all expenses reasonably incurred (including legal fees) by the Company in seeking to recover such Covered Erroneously Awarded Compensation.

 

4.    Determination of Erroneously Awarded Compensation

 

(a)    The amount of Covered Erroneously Awarded Compensation shall be determined by the Committee based on the particular facts and circumstances and consistent with the principles of the Recovery Rules. The Committee is authorized to engage, on behalf of the Company, any third-party advisors it deems advisable in order to perform any calculations contemplated by this Policy.

 

3

 

(b)    For Incentive-Based Compensation based on stock price or total shareholder return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in the Accounting Restatement, the Committee shall determine the amount of Erroneously Awarded Compensation based on a reasonable estimate of the effect of the Accounting Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was received. The Company must maintain documentation of the determination of that reasonable estimate and provide such documentation to the Exchange.

 

(c)    For cash awards, Erroneously Awarded Compensation typically will be the difference between the amount of the cash award (whether payable as a lump sum or over time) that was received and the amount that should have been received after applying the restated Financial Reporting Measure. For cash awards from bonus pools, the Erroneously Awarded Compensation typically will be the pro rata portion of any deficiency that results from the aggregate bonus pool that is reduced based on applying the restated Financial Reporting Measure.

 

(d)    For stock options or stock appreciation rights, if the shares, stock options or stock appreciation rights are still held at the time of recovery, the Erroneously Awarded Compensation typically will be the number of shares received in excess of the number of shares that should have been received applying the restated Financial Reporting Measure (or the value of that excess number). If the options or stock appreciation rights have been exercised, but the underlying shares have not been sold, the Erroneously Awarded Compensation typically will be the number of shares underlying the excess options or stock appreciation rights (or the value thereof).

 

5.    Exemption

 

Recovery of Erroneously Awarded Compensation shall not be required to the extent that the Committee determines that recovery would be impracticable because of one or more of the following conditions:

 

(a)    The direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered. Before concluding that it would be impracticable to recover any amount of Erroneously Awarded Compensation based on expense of enforcement, the Company must make a reasonable attempt to recover such Erroneously Awarded Compensation, document such reasonable attempt(s) to recover, and provide that documentation to the Exchange.

 

(b)    Recovery would violate home country law where that law was adopted prior to November 28, 2022. Before concluding that it would be impracticable to recover any amount of Erroneously Awarded Compensation based on violation of home country law, the Company must obtain an opinion of home country counsel, acceptable to the Exchange, that recovery would result in such a violation, and must provide such opinion to the Exchange.

 

4

 

(c)    Recovery would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the Company, to fail to meet the requirements of Section 401(a)(13) or 411(a) of the Internal Revenue Code of 1986, as amended, and the regulations thereunder.

 

6.    Prohibition on Indemnification

 

The Company and its subsidiaries are prohibited from indemnifying any current or former Executive Officer against the loss of Erroneously Awarded Compensation pursuant to this Policy and from paying the premiums on any insurance policy protecting against the recovery of Erroneously Awarded Compensation. Neither the Company nor any subsidiary shall enter into any agreement that exempts any Incentive-based Compensation from the application of this Policy or that waives the Company’s right to recover Erroneously Awarded Compensation, and this Policy shall supersede any such agreement (whether entered into before, on or after the Effective Date).

 

7.    Administration

 

This Policy shall be administered by the Committee in accordance with the Recovery Rules. The Committee is authorized to interpret and construe this Policy and to make all determinations necessary, appropriate or advisable for the administration of this Policy. Any determination made by the Committee shall be binding on all persons. In the event any provision of this Policy is determined to be unenforceable or invalid under applicable law, such provision shall be applied to the maximum extent permitted by applicable law and shall automatically be deemed amended in a manner consistent with its objectives to the extent necessary to conform to any limitations required by applicable law.

 

8.    Acknowledgement

 

The Company may require an Executive Officer to sign and return to the Company the Acknowledgement Form attached hereto as Exhibit A pursuant to which such Executive Officer will agree to be bound by the terms and comply with this Policy; provided, however, that this Policy shall apply to, and be enforceable against, any Executive Officer regardless of whether or not such Executive Officer properly signs and returns to the Company such Acknowledgement Form.

 

9.    Reporting and Disclosure

 

The Company shall file all disclosures with respect to this Policy in accordance with the requirements of the federal securities laws, including the disclosure required by applicable SEC rules.

 

5

 

10.    Miscellaneous

 

(a)    Amendment and Termination. The Committee may amend this Policy from time to time in its discretion and shall amend this Policy as it deems necessary, including as and when it determines that it is legally required by any federal securities laws, SEC rules or the rules of any national securities exchange or national securities association on which the Company’s securities are listed. The Committee may terminate this Policy at any time. Notwithstanding anything in this Section 10(a) to the contrary, no amendment or termination of this Policy shall be effective if such amendment or termination would (after taking into account any actions taken by the Company contemporaneously with such amendment or termination) cause the Company to violate any federal securities laws, SEC rules or the rules of any national securities exchange or national securities association on which the Company’s securities are listed. Furthermore, unless otherwise determined by the Committee or as otherwise amended, this Policy shall automatically be deemed amended in a manner necessary to comply with any change in the Recovery Rules.

 

(b)    Other Recovery Rights. The Committee intends that this Policy will be applied to the fullest extent of the law. The Committee may require that any employment agreement, equity award agreement, or any other agreement entered into on or after the Effective Date shall, as a condition to the grant of any benefit thereunder, require an Executive Officer to abide by the terms of this Policy. Executive Officers shall be deemed to have accepted continuing employment on terms that include compliance with this Policy, to the extent of its otherwise applicable provisions, and to be contractually bound by its enforcement provisions. Executive Officers who cease employment or service with the Company and its subsidiaries shall continue to be bound by the terms of this Policy with respect to Incentive-Based Compensation subject to this Policy. Any right of recovery under this Policy is in addition to, and not in lieu of, any other remedies or rights of recovery that may be available to the Company or its subsidiaries under applicable law, regulation or rule, or pursuant to the terms of any policy or in any employment agreement, equity award agreement, or similar agreement and any other legal remedies available to the Company and its subsidiaries. Nothing in this Policy precludes the Company from implementing any additional clawback, recovery or recoupment policies with respect to Executive Officers or other individuals. Application of this Policy does not preclude the Company or its subsidiaries from taking any other action to enforce any Executive Officer’s obligations to the Company or its subsidiaries, including termination of employment or institution of civil or criminal proceedings or any other remedies that may be available to the Company or its subsidiaries with respect to any Executive Officer.

 

(c)    Successors. This Policy shall be binding and enforceable against all Executive Officers and their beneficiaries, heirs, executors, administrators or other legal representatives.

 

*         *         *         *         *

 

6

 

EXHIBIT A

 

 

inTEST CORPORATION

 

POLICY FOR THE RECOVERY

OF ERRONEOUSLY AWARDED COMPENSATION

 

ACKNOWLEDGEMENT FORM

 

By signing below, the undersigned executive officer (the “Executive Officer”) acknowledges and confirms that the Executive Officer has received and reviewed a copy of the inTEST Corporation Policy for the Recovery of Erroneously Awarded Compensation (the “Policy”). Capitalized terms used but not otherwise defined in this Acknowledgement Form shall have the meanings ascribed to such terms in the Policy.

 

By signing this Acknowledgement Form, the Executive Officer:

 

 

acknowledges and agrees that the Executive Officer is and will continue to be subject to the Policy and that the Policy will apply both during and after the Executive Officer’s employment with the Company and its subsidiaries;

 

 

agrees to abide by the terms of the Policy, including, without limitation, by promptly returning any Covered Erroneously Awarded Compensation to the Company in a manner permitted by the Policy;

 

 

acknowledges and agrees to reimburse the Company for any and all expenses reasonably incurred by the Company in seeking to recover such Covered Erroneously Awarded Compensation in the event that the Executive Officer fails to promptly repay any or all Covered Erroneously Awarded Compensation to the Company when due; and

 

 

acknowledges and agrees that the Company may, to the greatest extent permitted by law, reduce any amount that may become payable to the Executive Officer by any amount to be recovered by the Company pursuant to the Policy if such amount has not been returned to the Company prior to the date that the subsequent amount becomes payable to the Executive Officer.

 

 

   
   
  Signature
   
   
  Print Name
   
   
  Date

 

 
EX-101.SCH 11 intt-20231231.xsd XBRL TAXONOMY EXTENSION SCHEMA 000 - Document - Document And Entity Information link:calculationLink link:definitionLink link:presentationLink 001 - Statement - Consolidated Balance Sheets link:calculationLink link:definitionLink link:presentationLink 002 - Statement - Consolidated Balance Sheets (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 003 - Statement - Consolidated Statements of Operations link:calculationLink link:definitionLink link:presentationLink 004 - Statement - Consolidated Statements of Comprehensive Earnings link:calculationLink link:definitionLink link:presentationLink 005 - Statement - Consolidated Statements of Stockholders' Equity link:calculationLink link:definitionLink link:presentationLink 006 - Statement - Consolidated Statements of Cash Flows link:calculationLink link:definitionLink link:presentationLink 995453 - Disclosure - Note 1 - Nature of Operations link:calculationLink link:definitionLink link:presentationLink 995454 - Disclosure - Note 2 - Summary of Significant Accounting Policies link:calculationLink link:definitionLink link:presentationLink 995455 - Disclosure - Note 3 - Fair Value Measurements link:calculationLink link:definitionLink link:presentationLink 995456 - Disclosure - Note 4 - Goodwill and Intangible Assets link:calculationLink link:definitionLink link:presentationLink 995457 - Disclosure - Note 5 - Revenue From Contracts With Customers link:calculationLink link:definitionLink link:presentationLink 995458 - Disclosure - Note 6 - Major Customers link:calculationLink link:definitionLink link:presentationLink 995459 - Disclosure - Note 7 - Inventories link:calculationLink link:definitionLink link:presentationLink 995460 - Disclosure - Note 8 - Leases link:calculationLink link:definitionLink link:presentationLink 995461 - Disclosure - Note 9 - Other Current Liabilities link:calculationLink link:definitionLink link:presentationLink 995462 - Disclosure - Note 10 - Debt link:calculationLink link:definitionLink link:presentationLink 995463 - Disclosure - Note 11 - Income Taxes link:calculationLink link:definitionLink link:presentationLink 995464 - Disclosure - Note 12 - Legal Proceedings link:calculationLink link:definitionLink link:presentationLink 995465 - Disclosure - Note 13 - Stock-based Compensation Plan link:calculationLink link:definitionLink link:presentationLink 995466 - Disclosure - Note 14 - Stock Repurchase Plans link:calculationLink link:definitionLink link:presentationLink 995467 - Disclosure - Note 15 - Employee Stock Purchase Plan link:calculationLink link:definitionLink link:presentationLink 995468 - Disclosure - Note 16 - Employee Benefit Plans link:calculationLink link:definitionLink link:presentationLink 995469 - Disclosure - Note 17 - Segment Information link:calculationLink link:definitionLink link:presentationLink 995470 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) link:calculationLink link:definitionLink link:presentationLink 995471 - Disclosure - Note 19 - Subsequent Events link:calculationLink link:definitionLink link:presentationLink 995472 - Disclosure - Schedule II - Valuation and Qualifying Accounts link:calculationLink link:definitionLink link:presentationLink 995473 - Disclosure - Significant Accounting Policies (Policies) link:calculationLink link:definitionLink link:presentationLink 995474 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables) link:calculationLink link:definitionLink link:presentationLink 995475 - Disclosure - Note 3 - Fair Value Measurements (Tables) link:calculationLink link:definitionLink link:presentationLink 995476 - Disclosure - Note 4 - Goodwill and Intangible Assets (Tables) link:calculationLink link:definitionLink link:presentationLink 995477 - Disclosure - Note 5 - Revenue From Contracts With Customers (Tables) link:calculationLink link:definitionLink link:presentationLink 995478 - Disclosure - Note 7 - Inventories (Tables) link:calculationLink link:definitionLink link:presentationLink 995479 - Disclosure - Note 8 - Leases (Tables) link:calculationLink link:definitionLink link:presentationLink 995480 - Disclosure - Note 9 - Other Current Liabilities (Tables) link:calculationLink link:definitionLink link:presentationLink 995481 - Disclosure - Note 10 - Debt (Tables) link:calculationLink link:definitionLink link:presentationLink 995482 - Disclosure - Note 11 - Income Taxes (Tables) link:calculationLink link:definitionLink link:presentationLink 995483 - Disclosure - Note 13 - Stock-based Compensation Plan (Tables) link:calculationLink link:definitionLink link:presentationLink 995484 - Disclosure - Note 17 - Segment Information (Tables) link:calculationLink link:definitionLink link:presentationLink 995485 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) (Tables) link:calculationLink link:definitionLink link:presentationLink 995486 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables) link:calculationLink link:definitionLink link:presentationLink 995487 - Disclosure - Note 1 - Nature of Operations (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995488 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995489 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) link:calculationLink link:definitionLink link:presentationLink 995490 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) link:calculationLink link:definitionLink link:presentationLink 995491 - Disclosure - Note 3 - Fair Value Measurements (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995492 - Disclosure - Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) link:calculationLink link:definitionLink link:presentationLink 995493 - Disclosure - Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 995494 - Disclosure - Note 4 - Goodwill and Intangible Assets (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995495 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) link:calculationLink link:definitionLink link:presentationLink 995496 - Disclosure - Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 995497 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 995498 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) link:calculationLink link:definitionLink link:presentationLink 995499 - Disclosure - Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) link:calculationLink link:definitionLink link:presentationLink 995500 - Disclosure - Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) link:calculationLink link:definitionLink link:presentationLink 995501 - Disclosure - Note 6 - Major Customers (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995502 - Disclosure - Note 7 - Inventories - Inventories (Details) link:calculationLink link:definitionLink link:presentationLink 995503 - Disclosure - Note 8 - Leases (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995504 - Disclosure - Note 8 - Leases - Lease Costs (Details) link:calculationLink link:definitionLink link:presentationLink 995505 - Disclosure - Note 8 - Leases - Maturities of Lease Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 995506 - Disclosure - Note 8 - Leases - Lease Modifications (Details) link:calculationLink link:definitionLink link:presentationLink 995507 - Disclosure - Note 9 - Other Current Liabilities - Other Current Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 995508 - Disclosure - Note 10 - Debt (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995509 - Disclosure - Note 10 - Debt - Outstanding Letters of Credit (Details) link:calculationLink link:definitionLink link:presentationLink 995510 - Disclosure - Note 10 - Debt - Future Maturities of Long-term Debt (Details) link:calculationLink link:definitionLink link:presentationLink 995511 - Disclosure - Note 11 - Income Taxes (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995512 - Disclosure - Note 11 - Income Taxes - Earnings Before Income Taxes (Details) link:calculationLink link:definitionLink link:presentationLink 995513 - Disclosure - Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details) link:calculationLink link:definitionLink link:presentationLink 995514 - Disclosure - Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details) link:calculationLink link:definitionLink link:presentationLink 995515 - Disclosure - Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details) link:calculationLink link:definitionLink link:presentationLink 995516 - Disclosure - Note 13 - Stock-based Compensation Plan (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995517 - Disclosure - Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) link:calculationLink link:definitionLink link:presentationLink 995518 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) link:calculationLink link:definitionLink link:presentationLink 995519 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) link:calculationLink link:definitionLink link:presentationLink 995520 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) link:calculationLink link:definitionLink link:presentationLink 995521 - Disclosure - Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details) link:calculationLink link:definitionLink link:presentationLink 995522 - Disclosure - Note 14 - Stock Repurchase Plans (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995523 - Disclosure - Note 15 - Employee Stock Purchase Plan (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995524 - Disclosure - Note 16 - Employee Benefit Plans (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995525 - Disclosure - Note 17 - Segment Information (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995526 - Disclosure - Note 17 - Segment Information - Segment Information (Details) link:calculationLink link:definitionLink link:presentationLink 995527 - Disclosure - Note 17 - Segment Information - Identifiable Assets (Details) link:calculationLink link:definitionLink link:presentationLink 995528 - Disclosure - Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details) link:calculationLink link:definitionLink link:presentationLink 995529 - Disclosure - Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details) link:calculationLink link:definitionLink link:presentationLink 995530 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details) link:calculationLink link:definitionLink link:presentationLink 995531 - Disclosure - Note 19 - Subsequent Events (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995532 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details Textual) link:calculationLink link:definitionLink link:presentationLink 995533 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) link:calculationLink link:definitionLink link:presentationLink EX-101.CAL 12 intt-20231231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 13 intt-20231231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 14 intt-20231231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE Document And Entity Information Dividend yield Note To Financial Statement Details Textual Significant Accounting Policies Note 2 - Summary of Significant Accounting Policies Expected income tax expense at U.S. statutory rate Note 3 - Fair Value Measurements Risk-free interest rate Note 4 - Goodwill and Intangible Assets Note 5 - Revenue From Contracts With Customers Note 7 - Inventories Note 8 - Leases Note 9 - Other Current Liabilities Note 10 - Debt Income Tax Disclosure [Text Block] Note 11 - Income Taxes Note 13 - Stock-based Compensation Plan Note 17 - Segment Information Current portion of contingent consideration Business Combination, Contingent Consideration, Liability, Current Note 18 - Quarterly Consolidated Financial Data (Unaudited) Expected common stock market price volatility factor Schedule II - Valuation and Qualifying Accounts us-gaap_LiabilitiesCurrent Total current liabilities Automobile Leases [Member] Information pertaining to automobile leases. Schedule of Maturities of Long-Term Debt [Table Text Block] Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Other current liabilities Total other current liabilities Weighted average expected life of stock options (years) (Year) Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) us-gaap_BusinessCombinationConsiderationTransferred1 Business Combination, Consideration Transferred Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block] Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) us-gaap_BusinessCombinationConsiderationTransferredOther1 Business Combination, Consideration Transferred, Other Note 7 - Inventories - Inventories (Details) Note 8 - Leases - Lease Costs (Details) Note 8 - Leases - Maturities of Lease Liabilities (Details) Note 8 - Leases - Lease Modifications (Details) Share-Based Payment Arrangement, Option, Activity [Table Text Block] Note 9 - Other Current Liabilities - Other Current Liabilities (Details) Note 10 - Debt - Outstanding Letters of Credit (Details) Note 10 - Debt - Future Maturities of Long-term Debt (Details) Granted, weighted average exercise price (in dollars per share) us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent Foreign currency translation adjustments Vested, weighted average exercise price (in dollars per share) Note 11 - Income Taxes - Earnings Before Income Taxes (Details) Forfeited, weighted average exercise price (in dollars per share) Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue Unvested shares outstanding, weighted average exercise price (in dollars per share) Unvested shares outstanding, weighted average exercise price (in dollars per share) Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod Forfeited, number of shares (in shares) Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details) Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber Unvested shares outstanding (in shares) Unvested shares outstanding (in shares) Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) us-gaap_GoodwillAndIntangibleAssetImpairment Goodwill and Intangible Asset Impairment, Total Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details) Granted, number of shares (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares) Note 17 - Segment Information - Segment Information (Details) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod Vested, number of shares (in shares) Note 17 - Segment Information - Identifiable Assets (Details) Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details) Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details) Nonvested Restricted Stock Shares Activity [Table Text Block] Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details) Current portion of Term Note Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) Notes To Financial Statements us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in shares) Notes To Financial Statements [Abstract] Options exercisable (in shares) Proceeds from shares sold under Employee Stock Purchase Plan The amount of cash inflow from shares sold under employee stock purchase plan. us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share) Sales of short term investments Electronic Test [Member] Related to Electronic Test segment. us-gaap_PaymentsToAcquireShortTermInvestments Purchase of short term investments Retirement Plan Name [Axis] Video Imaging [Member] Related to video imaging. Retirement Plan Name [Domain] Flying Probe and In-circuit Testers [Member] Related to flying probe and in-circuit testers. us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice Options outstanding, weighted average exercise price (in dollars per share) Options outstanding, weighted average exercise price (in dollars per share) Life Sciences [Member] Related to Life Sciences. Environmental Technologies [Member] Related to Environmental Technologies segment. Process Technologies [Member] Related to process technologies. Customer deposits and deferred revenue us-gaap_ContractWithCustomerLiabilityCurrent Canceled, weighted average exercise price (in dollars per share) Goodwill and Intangible Assets Disclosure [Text Block] Granted, weighted average exercise price (in dollars per share) us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice Domestic and foreign income taxes payable Exercised, weighted average exercise price (in dollars per share) Security [Member] Related to security. Accrued wages and benefits Accrued taxes Accrued interest Lessee, Operating Leases [Text Block] intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived 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. Chief Executive Officer and Chief Financial Officer [Member] Related to Chief Executive Officer and Chief Financial Officer. Accounts payable Revolving Credit Facility [Member] us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber Options outstanding, number of shares (in shares) Options outstanding, number of shares (in shares) Credit Facility [Axis] Credit Facility [Domain] Other Trademarks [Member] us-gaap_PolicyTextBlockAbstract Accounting Policies us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date City of Rochester and State of New York [Member] Represents information related to city of Rochester and state of New York. us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares) Accrued warranty Trade Names [Member] Accrued Sales Commission, Current us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares) Alfamation [Member] Relating to Alfamation. Stock Issued Accrued professional fees intt_AnnualLeasePayments Annual Lease Payments Represents the amount of annual lease payments. Indefinite-Lived Intangible Assets [Axis] 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. Indefinite-Lived Intangible Assets, Major Class Name [Domain] Capital expenditures us-gaap_PaymentsToAcquirePropertyPlantAndEquipment Purchase of property and equipment us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements Unvested shares of restricted stock and employee stock options (in shares) SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES: us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year) Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block] intt_DiscountedCashFlowsDiscountRate Discounted Cash Flows, Discount Rate Discount rate used by discounted cash flows. us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage Current liabilities: Vesting [Axis] Vesting [Domain] Operating lease liabilities Patented Technology [Member] Share-Based Payment Arrangement, Tranche One [Member] Cash payments for: us-gaap_Assets Total assets Identifiable Assets Patents [Member] Plan Name [Axis] Plan Name [Domain] Property and equipment: us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount Goodwill Intangible And Long Lived Assets [Policy Text Block] The policy disclosure of goodwill intangible and long lived assets. us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year) Customer Relationships [Member] Legal Matters and Contingencies [Text Block] us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount Share-Based Payment Arrangement, Amount Capitalized Computer Software, Intangible Asset [Member] Deferred tax assets Share-Based Payment Arrangement [Text Block] Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets, Major Class Name [Domain] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation Shares surrendered to satisfy tax liability at vesting of stock-based awards Award Type [Domain] Award Type [Axis] Net earnings (loss) Net earnings Net earnings Net earnings Finite-lived, Accumulated Amortization Net Carrying Amount, finite-lived Balance Balance Intangible assets, net Net Carrying Amount Warehouse and Office Space [Member] Relating to Warehouse and Office space. Finite-lived, Gross Carrying Amount Restricted Stock [Member] Share-Based Payment Arrangement, Option [Member] Schedule Of Intangible Assets [Table Text Block] The tabular disclosure of the intangible assets. us-gaap_GoodwillForeignCurrencyTranslationGainLoss Impact of foreign currency translation adjustments Goodwill, Purchase Accounting Adjustments Net Carrying Amount, indefinite-lived us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill Indefinite-lived, Gross Carrying Amount Balance Balance us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment Less: accumulated depreciation us-gaap_PropertyPlantAndEquipmentNet Net property and equipment Property and Equipment Goodwill Balance Balance us-gaap_PropertyPlantAndEquipmentGross Gross property and equipment Machinery and equipment Leasehold improvements Long-Term Debt, Type [Axis] Long-Term Debt, Type [Domain] Interest rate swap Interest rate swap Restricted Stock Vesting on August 24, 2023 [Member] Information related to the restricted stock awards vesting on August 24, 2023. Members of The Senior Management [Member] Represents members of the senior management. intt_IncreaseDecreaseInAccruedProfessionalFees Accrued professional fees The amount of increase (decrease) in accrued professional fees. Acquisition costs intt_DeferredTaxAssetsAcquisitionCosts Amount before allocation of valuation allowances of deferred tax asset attributable to deductible acquisition costs. Derivative Instrument [Axis] Employees [Member] Related to employees. Derivative Contract [Domain] CASH FLOWS FROM INVESTING ACTIVITIES Range of remaining lease terms (in years) (Year) The remaining lease term of operating leases. Employee Stock Purchase Plan [Text Block] The entire disclosure for employee stock purchase plan. Employee Stock Purchase Plan [Member] Represents the employee stock purchase plan. us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable Domestic and foreign income taxes payable Vesting Based On Performance Metrics [Member] Represents vesting based on performance metrics. Letter of Credit [Member] us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities Accrued wages and benefits Income tax expense Income tax expense Income tax expense The Ambrell Plan [Member] Related to the Ambrell defined contribution retirement plan. us-gaap_IncreaseDecreaseInAccountsPayable Accounts payable us-gaap_OperatingExpenses Total operating expenses us-gaap_DebtInstrumentTerm Debt Instrument, Term (Year) Restricted certificates of deposit us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount Debt Instrument, Unused Borrowing Capacity, Amount us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount Defined Contribution Plan, Employer Discretionary Contribution Amount Restricted cash Restricted Cash, Total General and administrative expense us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch Defined Contribution Plan, Employer Matching Contribution, Percent of Match Cash and cash equivalents Impact of foreign currency translation adjustments us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome us-gaap_IncreaseDecreaseInOtherCurrentLiabilities Other current liabilities us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities Other liabilities SEC Schedule, 12-09, Allowance, Credit Loss [Member] intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Emplyee Amount Maximum dollar amount of employer's annual matching contribution to a defined contribution plan us-gaap_AllocatedShareBasedCompensationExpense Allocation of Share-based Compensation Expense Asset [Member] The information pertaining to a financial statement line item. Amendment Flag us-gaap_ComprehensiveIncomeNetOfTax Comprehensive earnings City Area Code intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAdditionalAwardVestingRightsPercentage Share-Based Compensation Arrangement by Share-Based Payment Award, Additional Award Vesting Rights, Percentage Additional percentage of vesting of award under share-based payment arrangement. New Accounting Pronouncements, Policy [Policy Text Block] Stock Issued During Period, Value, Restricted Stock Award, Forfeitures Reclassification, Comparability Adjustment [Policy Text Block] us-gaap_GainLossOnSaleOfPropertyPlantEquipment Loss on disposal of property and equipment Customer deposits and deferred revenue us-gaap_SharesOutstanding Balance (in shares) Balance (in shares) Preferred stock, shares outstanding (in shares) Current Fiscal Year End Date us-gaap_DebtInstrumentInterestRateEffectivePercentage Debt Instrument, Interest Rate, Effective Percentage us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets Prepaid expenses and other current assets Weighted average discount rate Document Fiscal Period Focus Operating lease cost Document Fiscal Year Focus Short-term lease cost Lease, Cost [Table Text Block] Document Period End Date Forfeiture of unvested shares of restricted stock Represents the value of forfeiture of unvested shares of restricted stock in a non-cash investing and financing activities. Weighted average remaining lease term (in years) (Year) Entity File Number Entity Emerging Growth Company us-gaap_DebtInstrumentFaceAmount Debt Instrument, Face Amount Lease Expiration Date Document Type Entity Small Business Entity Shell Company Document Information [Line Items] Document Information [Table] us-gaap_AreaOfRealEstateProperty Area of Real Estate Property (Square Foot) us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue Balance Balance Entity Public Float us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements Payout of contingent consideration related to the acquisition of Z-Sciences Entity Filer Category Debt Instrument [Axis] Entity Current Reporting Status Debt Instrument, Name [Domain] Entity Voluntary Filers Entity Well-known Seasoned Issuer us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases Adjustment to contingent consideration liability in connection with the acquisition of Acculogic Adjustment to contingent consideration liability in connection with the acquisition of Acculogic us-gaap_ConcentrationRiskPercentage1 Concentration Risk, Percentage us-gaap_IncreaseDecreaseInAccountsReceivable Trade accounts receivable Amortization of deferred compensation related to stock-based awards Quarterly Financial Information [Text Block] Statement of Comprehensive Income [Abstract] Entity Tax Identification Number Entity Central Index Key us-gaap_DepreciationAndAmortization Acquired intangible amortization Entity Registrant Name Liability Class [Axis] Fair Value by Liability Class [Domain] Entity [Domain] Customer Concentration Risk [Member] Legal Entity [Axis] Entity Address, Address Line One Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block] ecd_NonRule10b51ArrTrmntdFlag Non-Rule 10b5-1 Arrangement Terminated [Flag] us-gaap_AmortizationOfIntangibleAssets Amortization Entity Address, City or Town ecd_Rule10b51ArrTrmntdFlag Rule 10b5-1 Arrangement Terminated [Flag] ecd_Rule10b51ArrAdoptedFlag Rule 10b5-1 Arrangement Adopted [Flag] Entity Address, Postal Zip Code us-gaap_TreasuryStockCommonValue Treasury stock, at cost; 75,758 and 34,308 shares, respectively Entity Address, State or Province ecd_NonRule10b51ArrAdoptedFlag Non-Rule 10b5-1 Arrangement Adopted [Flag] Concentration Risk Type [Axis] Material Terms of Trading Arrangement [Text Block] Concentration Risk Type [Domain] ecd_TrdArrIndTitle Trading Arrangement, Individual Title ecd_TrdArrIndName Trading Arrangement, Individual Name ecd_TrdArrTerminationDate Trading Arrangement Termination Date ecd_TrdArrSecuritiesAggAvailAmt Trading Arrangement, Securities Aggregate Available Amount Entity Common Stock, Shares Outstanding us-gaap_StockRepurchasedAndRetiredDuringPeriodShares Stock Repurchased and Retired During Period, Shares (in shares) ecd_TrdArrAdoptionDate Trading Arrangement Adoption Date Revenue Benchmark [Member] us-gaap_IncreaseDecreaseInOtherNoncurrentAssets Other assets us-gaap_IncreaseDecreaseInInventories Inventories Trading Symbol Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Domain] Nature of Operations [Text Block] Shares issued under Employee Stock Purchase Plan (in shares) Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares) Local Phone Number Stock options exercised (in shares) Exercised, number of shares (in shares) us-gaap_TableTextBlock Notes Tables Shares issued under Employee Stock Purchase Plan Stock Issued During Period, Value, Employee Stock Purchase Plan Issuance of unvested shares of restricted stock (in shares) us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited Stock Issued During Period, Shares, Restricted Stock Award, Forfeited (in shares) us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity Line of Credit Facility, Maximum Borrowing Capacity Stock options exercised Issuance of unvested shares of restricted stock Issuance of additional shares of restricted sock related to performance-based awards which vested in the period (in shares) us-gaap_ProvisionForDoubtfulAccounts Accounts Receivable, Credit Loss Expense (Reversal) Granted, number of shares (in shares) us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod Canceled, number of shares (in shares) Line of Credit, Issue Date Line of Credit, Expiration Date Line of Credit Facility, Lender [Domain] Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Shares issued pursuant to At-the-Market Offering (in shares) Stock Issued During Period, Shares, New Issues (in shares) Raw materials Lender Name [Axis] Selling expense us-gaap_LiabilitiesAndStockholdersEquity Total liabilities and stockholders' equity Finished goods Work in process Shares issued pursuant to At-the-Market Offering Stock Issued During Period, Value, New Issues UNITED STATES Retained earnings Engineering and product development expense Accumulated other comprehensive earnings Debt Disclosure [Text Block] Supplemental Cash Flow Infomation, Lessee [Table Text Block] Tabular disclosure of lessee's supplemental cash flow information. Cash and Cash Equivalents [Domain] us-gaap_InterestExpense Interest expense Interest expense Changes in assets and liabilities: Restricted Cash and Cash Equivalents [Axis] us-gaap_DisclosureTextBlockAbstract Notes to Financial Statements Inventory Disclosure [Text Block] Subsequent Event [Member] Operating lease liabilities, net of current portion Schedule of Inventory, Current [Table Text Block] intt_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantedFairValue 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. Total Operating Lease, Liability Restricted Stock Vesting in Three Years [Member] Information related to the restricted stock awards vesting in three years. Deferred income tax benefit intt_IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent Deferred revenue, net of current portion Amount of increase (decrease) in noncurrent obligation to transfer good or service to customer for which consideration has been received or is receivable. Subsequent Event Type [Axis] Current portion of operating lease liabilities Subsequent Event Type [Domain] Retirement Benefits [Text Block] us-gaap_IntangibleAssetsGrossExcludingGoodwill Intangible Assets, Gross Carrying Amount Subsequent Events [Text Block] Right-of-use assets, net Operating Lease, Right-of-Use Asset Operating Lease, Right-of-Use Asset Acculogic [Member] Represents Acculogic. us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue Total lease payments us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount Less imputed interest us-gaap_DeferredIncomeTaxExpenseBenefit Total us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree 2026 us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour 2027 2028 Schedule of Changes in Goodwill [Table Text Block] Tabular disclosure of the changes in goodwill. us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive Thereafter Fair Value Measurement, Policy [Policy Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo 2024 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree 2025 Automobile Lease for Videology [Member] Represents automobile lease for Videology. us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour 2026 us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths 2024 us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive 2027 us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo 2025 Automotive [Member] Represents Automotive. Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Subsequent Events, Policy [Policy Text Block] us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths 2023 Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] Represents Restricted Stock Vesting on January 1, 2025. SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain] SEC Schedule, 12-09, Reserve, Warranty [Member] Foreign Currency Transactions and Translations Policy [Policy Text Block] Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] us-gaap_ShareBasedCompensation Amortization of deferred compensation related to stock-based awards Other assets Lessee, Leases [Policy Text Block] SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis] Environmental Technologies in Germany [Member] Represents Environmental technologies in Germany Business Combinations Policy [Policy Text Block] Earnings Per Share, Policy [Policy Text Block] intt_SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount Discount on shares sold under Employee Stock Purchase Plan Discount amount from fair value on purchase date that participants pay for shares. Facility for Acculogic Operation in Canada [Member] Represents facility for Acculogic operation in Canada. us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss Impact of foreign currency translation adjustments Facility for Acculogic Operation in California [Member] Represents the facility for Acculogic operation in California. Finite-Lived Intangible Assets, Purchase Accounting Adjustments us-gaap_FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments Operating expenses: Income Tax, Policy [Policy Text Block] Indefinite-Lived Intangible Assets, Purchase Accounting Adjustments Capitalized research and development costs Amount before allocation of valuation allowances of deferred tax asset attributable to capitalized research and development. Schedule of Finite-Lived Intangible Assets [Table Text Block] us-gaap_LesseeOperatingLeaseTermOfContract Lessee, Operating Lease, Term of Contract (Month) Customer Backlog [Member] Represents customer backlog. Research and Development Expense, Policy [Policy Text Block] us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss Impact of foreign currency translation adjustments Operating lease liabilities intt_DeferredTaxAssetsOperatingLeases Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating leases. us-gaap_Depreciation Depreciation, Total Schedule of Indefinite-Lived Intangible Assets [Table Text Block] Depreciation and amortization intt_DeferredTaxLiabilitiesRightOfUseAssets Right-of-use assets Amount of deferred tax liability attributable to taxable temporary differences from right-of-use assets. intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range Lower range limit of percentage of vesting of award under share-based payment arrangement. intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range Upper range limit of percentage of vesting of award under share-based payment arrangement. us-gaap_SharesIssuedPricePerShare Shares Issued, Price Per Share (in dollars per share) intt_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpectedToForfeitOutstandingNumber Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Forfeit, Outstanding, Number (in shares) Number of expected to forfeit options outstanding. us-gaap_AssetsCurrent Total current assets Share-Based Payment Arrangement [Policy Text Block] Refund of final working capital adjustment related to Acculogic Amount of cash inflow from final working adjustment on previous acquisition. Treasury stock, shares (in shares) Adjustment to contingent consideration liability Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability Common stock, $0.01 par value; 20,000,000 shares authorized; 12,241,925 and 11,063,271 shares issued, respectively Measurement Frequency [Axis] Measurement Frequency [Domain] Adjustments to reconcile net earnings to net cash provided by (used in) operating activities: Fair Value, Recurring [Member] Common stock, shares authorized (in shares) Common stock, shares issued (in shares) Common stock, par value (in dollars per share) us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount us-gaap_DeferredTaxAssetsValuationAllowance Valuation allowance Statistical Measurement [Domain] Maximum [Member] Minimum [Member] Product and Service [Axis] us-gaap_DeferredTaxAssetsNet Deferred tax assets Product and Service [Domain] Statistical Measurement [Axis] Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding us-gaap_NumberOfReportingUnits Number of Reporting Units us-gaap_DeferredTaxAssetsLiabilitiesNet Net deferred tax assets Preferred stock, shares issued (in shares) Contingent Consideration Liabilities [Member] Represents contingent consideration liabilities. Domestic and foreign income taxes Other us-gaap_DeferredTaxAssetsOther Geographical [Axis] us-gaap_DeferredTaxAssetsGross Total Geographical [Domain] Preferred stock, shares authorized (in shares) us-gaap_DeferredIncomeTaxLiabilities Deferred tax liabilities Inventories Total inventories Preferred stock par value (in dollars per share) Net revenues Revenue Revenue Fair Value, Inputs, Level 3 [Member] us-gaap_ForeignCurrencyTransactionGainLossBeforeTax Foreign Currency Transaction Gain (Loss), before Tax, Total Foreign exchange (gain) loss Fair Value Hierarchy and NAV [Domain] Customer [Axis] Inventories us-gaap_DeferredTaxAssetsInventory Customer [Domain] us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets Intangible assets Fair Value, Inputs, Level 1 [Member] Fair Value, Inputs, Level 2 [Member] Fair Value Hierarchy and NAV [Axis] Inventory consigned to others End User [Member] Customers who are the end user of the company's products. Semiconductor Market [Member] The semiconductor market into which the reporting entity sells products. Service and Other Products [Member] Represents information about services and other products sold by the reporting entity. Semiconductor Production Test Products [Member] Represents information about semiconductor production test products sold by the reporting entity. us-gaap_PropertyPlantAndEquipmentUsefulLife Property, Plant and Equipment, Useful Life (Year) Industrial Market [Member] The industrial market into which the reporting entity sells products. CASH FLOWS FROM OPERATING ACTIVITIES Accrued warranty us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves 401(k) Plan [Member] A 401(k) plan offered by the reporting entity to eligible employees. Schedule of Segment Reporting Information, by Segment [Table Text Block] Allowance for doubtful accounts us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts Revenue [Policy Text Block] Statement [Line Items] Allowance for doubtful accounts Accrued vacation pay and stock-based compensation us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits us-gaap_NumberOfOperatingSegments Number of Operating Segments Trade accounts receivable, net of allowance for credit losses of $474 and $496, respectively us-gaap_NumberOfReportableSegments Number of Reportable Segments Additional paid-in capital AOCI Attributable to Parent [Member] Stockholders' equity: Property, Plant and Equipment, Policy [Policy Text Block] Other income Other income us-gaap_NonoperatingIncomeExpense Segment Reporting Disclosure [Text Block] Tax credit carryforwards Net operating loss (state and foreign) us-gaap_DeferredTaxAssetsOperatingLossCarryforwards Chief Financial Officer [Member] Proceeds from sale of demonstration equipment, net of gain Proceeds from sale of machinery and equipment net of gain. Current assets: Fair Value Disclosures [Text Block] us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents Total cash, cash equivalents and restricted cash us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations Cash, cash equivalents and restricted cash at beginning of period Cash, cash equivalents and restricted cash at end of period Inventory, Policy [Policy Text Block] Effects of exchange rates on cash us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect Net cash provided by (used in) all activities Deferred tax assets: Texas Instruments Incorporated [Member] Texas instruments incorporated member. us-gaap_NetCashProvidedByUsedInFinancingActivities Net cash provided by (used in) financing activities us-gaap_Liabilities Total liabilities Commitments and Contingencies (Note 12) Sale of Stock [Axis] Schedule Of Outstanding Letters Of Credit [Table Text Block] Schedule of outstanding letters of credit table text block. Sale of Stock [Domain] Mt Laurel [Member] Represents information about Mt laurel. us-gaap_OperatingIncomeLoss Operating income us-gaap_NetCashProvidedByUsedInOperatingActivities Net cash provided by (used in) operating activities us-gaap_DeferredTaxLiabilitiesOther Other Mansfield [Member] Represents information about Mansfield. us-gaap_NetCashProvidedByUsedInInvestingActivities Net cash used in investing activities Prepaid expenses and other current assets us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets Intangible assets Cost of revenue intt_IncomeTaxReconciliationEffectsOfNetOperatingLossAndTaxCreditCarryforwards NOL carryforwards utilized Income tax reconciliation effects of net operating loss and tax credit carryforwards. us-gaap_GrossProfit Gross profit Gross profit intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod Defined Contribution Plan Employer Matching Contribution Vesting Period (Year) Defined contribution plan employer matching contribution vesting period. Counterparty Name [Axis] Counterparty Name [Domain] Derivatives, Policy [Policy Text Block] Consolidation Items [Domain] Provision for excess and obsolete inventory us-gaap_InventoryWriteDown Inventory Write-down Thermal Testing Products [Member] Represents information about Thermal products sold by the reporting entity. Consolidation Items [Axis] At-the-Market Issuance Sales Agreement [Member] Represents At-the-Market Issuance Sales Agreement. intt_CommissionFeePercentageOfGrossProceeds Commission Fee, Percentage of Gross Proceeds The percentage charged for the sales of shares. Valuation Allowances and Reserves [Table Text Block] Tabular disclosure of a schedule of allowance and reserve accounts where the valuation and qualifying accounts are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs. President of Environmental Technologies [Member] Represents the president of Environmental Technologies. Acquired Accounts Receivable Subsequently Recovered [Member] Relating to acquired accounts receivable subsequently recovered. The 2023 Stock Incentive Plan [Member] Represents the 2023 Stock Incentive Plan. us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation Settlement of employee tax liabilities in connection with treasury stock transaction Automobile Lease, One [Member] Represents the type of leasing arrangement. us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment Depreciation of property and equipment Letters of Credit Amount Outstanding Automobile Lease, Two [Member] Represents the type of leasing arrangement. Deferred tax liabilities: President [Member] Process Technologies in Europe [Member] Represents the process technologies segment in Europe Current portion of deferred grant proceeds Represents the current portion of deferred grant proceeds. Retained Earnings [Member] intt_DebtInstrumentCovenantFixedChargeCoverageRatio Debt Instrument, Covenant, Fixed Charge Coverage Ratio Represents the covenant for a debt instrument relating to the fixed charge coverage ratio. intt_DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda Debt Instrument, Covenant, Ratio of Consolidated Funded Debt to Consolidated EBITDA Represents the covenant for a debt instrument relating to the ratio of consolidated funded debt to consolidated EBITDA. Proceeds from stock options exercised Process Technologies in the Netherlands [Member] Represents the process technologies segment in the Netherlands. Southeast Asia Operation [Member] Represents the inTest southeast Asia operation. Title of Individual [Domain] Net proceeds from public offering of common stock us-gaap_CurrentStateAndLocalTaxExpenseBenefit Domestic – state Title of Individual [Axis] us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit Domestic – state Treasury Stock, Common [Member] us-gaap_CurrentForeignTaxExpenseBenefit Foreign us-gaap_DeferredForeignIncomeTaxExpenseBenefit Foreign Additional Paid-in Capital [Member] us-gaap_CurrentFederalTaxExpenseBenefit Domestic – Federal Common Stock [Member] us-gaap_StockRepurchaseProgramAuthorizedAmount1 Stock Repurchase Program, Authorized Amount us-gaap_DeferredFederalIncomeTaxExpenseBenefit Domestic – Federal Accrued sales commission The increase (decrease) during the reporting period in accrued sales commission. Z-Sciences [Member] Information related to Z-Sciences. Equity Components [Axis] Equity Component [Domain] Performance-Based Restricted Stock Vesting in Three Years [Member] Represents the performance-based restricted stock vesting in three years. intt_SharebasedCompensationArrangementBySharebasedPaymentAwardCatchupAdjustment Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment The catch-up adjustment resulting from an adjustment in the expected vesting percentage for a share-based compensation arrangement. Long-Term Debt us-gaap_LongTermDebt Performance-Based Restricted Stock [Member] Represents the performance-based restricted stock. us-gaap_CurrentIncomeTaxExpenseBenefit Total Class of Financing Receivable [Domain] Term Note [Member] Information related to Term Note. Global intangible low taxed income Other Current Liabilities [Member] Foreign October 2021 Agreement [Member] Information related to the October 2021 Agreement. Class of Financing Receivable [Axis] us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount Section 250 foreign derived intangible income deduction Earnings before income tax expense us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest Earnings before income tax expense Earnings before income tax expense Domestic M&T Bank [Member] Information related to M&T Bank. intt_DebtInstrumentDrawPeriod Debt Instrument, Draw Period (Year) Represents the period of time in which funds can be withdrawn under debt agreement, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. intt_DebtInstrumentInterestRateInEventOfDefault Debt Instrument, Interest Rate in Event of Default Contractual interest rate for funds borrowed in event of default, under the debt agreement. ICFR Auditor Attestation Flag us-gaap_LineOfCredit Long-Term Line of Credit, Total Disaggregation of Revenue [Table Text Block] us-gaap_RepaymentsOfLongTermDebt Repayments of Term Note Revenue from Contract with Customer [Text Block] Document Annual Report Balance Sheet Location [Axis] Balance Sheet Location [Domain] Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block] Receivable [Policy Text Block] Entity Incorporation, State or Country Code General and Administrative Expense [Member] Accounting Policies [Abstract] Significant Accounting Policies [Text Block] Document Transition Report Document Financial Statement Error Correction [Flag] Concentration Risk Disclosure [Text Block] Entity Interactive Data Current Selling and Marketing Expense [Member] us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries Accounts Receivable, Allowance for Credit Loss, Recovery Security Exchange Name Title of 12(b) Security intt_AggregateOfferingPriceOfStock Aggregate Offering Price of Stock The aggregate value offering price of stock issued and sold. OEM, Integrators and Distributor [Member] Represents OEM, Integrators and Distributor Lease Facility in Singapore [Member] Represents the Lease Facility in Singapore. us-gaap_ProceedsFromIssuanceOfLongTermDebt Proceeds from Issuance of Long-term Debt, Total Cost of Sales [Member] Research and Development Expense [Member] Foreign Currency Adjustment us-gaap_ValuationAllowancesAndReservesBalance Balance at Beginning of Period Balance at End of Period Amended Loan Agreement [Member] Represents The Loan Agreement, As Amended by the Third Amendment, the “amended Loan Agreement. Reserve amounts acquired Expense (Recovery) SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense Income Statement Location [Axis] Income Statement Location [Domain] us-gaap_ValuationAllowancesAndReservesDeductions Deductions Bank Guarantee on Customer Order Deposit [Member] Represents bank guarantee on customer order deposit. Basis Of Presentation And Use Of Estimates [Policy Text Block] Basis of presentation and use of estimates policy text block. Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Schedule of Cash, Cash Equivalents and Restricted Cash [Table Text Block] Tabular disclosure of the components of cash, cash equivalents and restricted cash. Restructuring And Other Charges [Policy Text Block] Restructuring and other charges policy text block. Auditor Name Auditor Firm ID Auditor Location Segments [Axis] Segments [Domain] Corporate Segment [Member] Industry Sector [Domain] us-gaap_SharePrice Share Price (in dollars per share) us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount Average number of potentially dilutive securities excluded from calculation (in shares) Weighted average common shares outstanding – diluted (in shares) Weighted average common shares and common share equivalents outstanding – diluted (in shares) Weighted average common shares and common share equivalents outstanding–diluted (in shares) Industry Sector [Axis] Non-US [Member] SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block] Statement [Table] Statement of Financial Position [Abstract] Net earnings per common share – diluted (in dollars per share) Earnings per common share – diluted (in dollars per share) Weighted average common shares outstanding – basic (in shares) Weighted average common shares outstanding – basic (in shares) Weighted average common shares outstanding–basic (in shares) Business Acquisition [Axis] Net earnings per common share – basic (in dollars per share) Earnings per common share – basic (in dollars per share) Business Acquisition, Acquiree [Domain] Statement of Cash Flows [Abstract] Lease Contractual Term [Domain] Statement of Stockholders' Equity [Abstract] Lease Contractual Term [Axis] Income Statement [Abstract] Other comprehensive loss 2026 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree Revenue from External Customers by Geographic Areas [Table Text Block] Facility in Penang, Malaysia [Member] Represents the facility in Penang, Malaysia. Long-Lived Assets by Geographic Areas [Table Text Block] us-gaap_BusinessCombinationContingentConsiderationLiability Contingent consideration liability 2024 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths 2025 us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo Other Current Liabilities [Table Text Block] intt_SharebasedCompensationArrangementBySharebasedPaymentAwardProbableFinalVestingPercentage Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage Probable final vesting percentage of share-based payment award. Quarterly Financial Information [Table Text Block] us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block] Schedule of Components of Income Tax Expense (Benefit) [Table Text Block] Schedule of Deferred Tax Assets and Liabilities [Table Text Block] Schedule of Effective Income Tax Rate Reconciliation [Table Text Block] intt_IncomeTaxReconciliationDeemedDividendFromForeignSubsidiaries Dividend from foreign subsidiaries Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to a deemed dividend from foreign subsidiaries. Contingent consideration Fair Value, Liabilities Measured on Recurring Basis [Table Text Block] Thermal Process [Member] Represents thermal process. Stock Plan 2014 [Member] Represents the 2014 Stock Plan. CASH FLOWS FROM FINANCING ACTIVITIES us-gaap_IncomeTaxReconciliationOtherReconcilingItems Other us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent Other liabilities us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance Changes in valuation allowance us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities Payment of contingent consideration related to Z-Sciences acquisition Defense/ Aerospace [Member] Represents defense/ aerospace. Stock Repurchase Plan [Text Block] The entire disclosure for stock repurchase plan. Corporate, Non-Segment [Member] Independent Directors [Member] Represents the independent directors. us-gaap_AccountsReceivableFairValueDisclosure Accounts Receivable, Fair Value Disclosure us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense Operating Lease, Right-of-Use Asset, Amortization Expense Deferred revenue, net of current portion us-gaap_StockholdersEquity Total stockholders' equity Balance Balance intt_CovenantFutureAmountReceivable Covenant, Future Amount Receivable Future amount receivable if we create and maintain specified levels of employment in the specified location through various dates ending in 2023. us-gaap_IncomeTaxReconciliationNondeductibleExpense Nondeductible expenses Class of Stock [Axis] Stock compensation Term Note, net of current portion us-gaap_PaymentsToAcquireBusinessesGross Payments to Acquire Businesses, Gross Interest Rate Swap [Member] Schedule of Weighted Average Number of Shares [Table Text Block] Unrealized gain (loss) on interest rate swap agreement Operating Segments [Member] Other Multi Markets [Member] Information related to other multi markets. intt_NumberOfMajorCustomers Number of Major Customers Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc. us-gaap_IncomeTaxReconciliationTaxCredits Current year tax credits (foreign and research) Domestic tax benefit, net of Federal benefit us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential Foreign income tax rate differences intt_DeferredGrantProceeds Deferred Grant Proceeds Represents the amount of deferred grant proceeds. EX-101.PRE 15 intt-20231231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE GRAPHIC 16 intt20231231_10kimg001.jpg begin 644 intt20231231_10kimg001.jpg M_]C_X 02D9)1@ ! 0$ 8 !@ #_VP!# @&!@<&!0@'!P<)"0@*#!0-# L+ M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#W^BBB@ I* M6D/2@#G-4\9:=I.IR:=);7]Q][(&$21>:WR_ M, !GIZUY9XJETVVUO79Q>:M8Z\#&;1%;%C*VYO.#>6<\=/O55B;L?;?$?0KB2V5H[ZWCN6"Q33VK)&2>GS=*ZTLO M R,GH*\QT'POK/B/PGH<-]JUL-&58IE@B@_>$+T!;-9>LMIS7OB1M>FN4UR. M8C3$5G'R8_=^7C@\]:.5!=GJO]JP?VR=,,4PF$/G&0Q_N\9QC=Z^U7=Z=-RY MZ]:\KGDO&U6Y^WDB[_X1?,PS_%SG\:@T[2;2QG\%7,)E$NI(R73&4GS5*=#S MTY[4.-&TJ_FLY1=32P &E/_9OEW22?VCDVNT9WC&2?:M0.AX#*3Z9K MQ^X6TNW\':GX@M([87'F1SD*8U(4_NSM'W !UJOINIVFJ:?%?VD@: MWE&42:5%;76MW-DJ6BVMSHSL;>SF=U8CE=S'[S^I%48S9_P#"*Z!' M#+''8/._]J-(9/+%Q@;1)MY QV'%'*',>ZY7&N?K7CJ7?BJ#0WE>"&WAFL68L<,GS#!/ M..H'L:.4.8]DW+NQD9].].KA/!-P_B36;[Q/*C(GE1V=NC=MHS(?^^C7=TFK M%)W"BBBD 4AI:0]* %HHHH **** (V@B=U=HT9U^ZQ4$C\:G M44 -1$C0(BA5 P%48 IC6\+R+(\2,Z_=8J"1]#4M(>E $9@A9R[1H6(VDE1D MCT^E'D0_)B)/W?W/E'R_3TI^:6@"-8(D9G6-%9OO,% )^M$EO!,RM+%&[+T+ M*"1^=2$TE 7&O!%(%$D:.%.0&4'%(L$2*RI&BJQRP"@9/O3^:6@"%+2WB*F. M")"N0I5 ,9ZT?9;<1M'Y$6QCDKL&#^%34#K0!CZYH7]KV"6L-[<6!C8,KVV M/H5Z$>U9=IX+DL[/4/+UN[_M"^VB2]V*&55Z*%Z 8KK:*=W:PK&;H6CVV@Z3 M!IUJ6:.('YV^\Q/))]R:TJ**0PHHHH *0]*6D/2@!:*** "BBB@ HS2'I5:\ MOK;3[62ZO)HX((QEI)&P!0"3;LBSD5!=7EK8P--=W$4$2]7D<*/UKR3Q3\:D MC+VOAN .>ANYU^7ZJO?ZFO)=5UK4]S73DY_>-\H^@Z"L)XB,=M3V< M+DM:KK4]U?B>\ZO\8?#&G%DM'FU&5?\ GW7"?]]&N+U#XXZO*6&GZ9:VR]FE M8NW]!7EF:2N=UYO8]JCDV%@M5?U.QN?BGXPN21GWQ.WRM\I[5YO77_ P_Y*-I/^\__H!HA.3FKLO%X6A##3<8 MI:&S\0/%WB+2O'NIVUCK%U!;QLFR)6^5?E!Z5E6OQ5\8VI_Y"BSCTFA4_P"% M1_%#_DHVK?[R?^@"N0I3G)3=F&$PE"IAX.4$]$>K:?\ '+4XBJZCI5O.O=H7 M*-^1R*[C1OBYX6U1ECGGDL)FXVW*X7/^\.*^<:49JHUYK-@P/XBI=PQ7R1HWB/5_#\XETN_FMCG)0'*-]5/%>N^%OC M/:73);>(81:RG@740)C)_P!H=5K>%>,M&>)BLFKT4Y0]Y?C]QZW14,%Q#=0I M-!*DL3C*.C9##V-35N>0%%%% !2'I2TAZ4 +1110 E!HR*XOQ]X[M?"%ALCV MS:E.#Y$.>!_M-[?SI-I*[-*5*=6:A!7;+WB[QKIGA&Q\R[?S;IP?)MD/SO[^ MP]Z^>?%'B_5_%EYYNH3D0*U7=#TNWOXKVYNI'\JU6/*1L%9M[AR/JZVUC>DPR*^QY(B2 MI4+D-CC'/!J/92['6LPP_?\ ] -.G\:,\=_NU3T8?%#_ )*-J_\ O)_Z *Y" MNO\ B?\ \E'U?_>3_P! %/L_ _\ :/ARQU2WO?*DG1RZ2(2"P+8 QT&%/6G. M+%+"TW-VND<;178OX!N%>/.H0^6RY=A$V5)V8&,\_ZQ>1TYIL'@2\ MFGMHS>0_Z1(T:%(R_P RDA\X/ 4@ DXZTO9R[&CQU#^8Y"ES7>3?#]([.4)= M9FAACFGE<'"#Y]VU1][[OUK*U+P927D3M"3^Z5#\P#A$O'.K^$;@?99/.LF.9+20_(?G"ZT^7YQ_ MK8'X>(^A']:^>O%?A9- M--GA>:07$>+AGVXCF&"4X[CTK(T;6K_ $'4X]0T MZ4/J/53V-=1FNQ--71\K4IRIR<)JS0M(>E+2'I3(%I#14<\J01-+* MX2-%+,QZ #J: ,+QAXJM?">ARW]P0TK?)!#GF1^P^GK7S%JFJW>LZE/J%_*9 M;F9LLQZ#T ] *V_'GBR3Q9XBDN58BQAS':IZ+_>^IKEZX*U1S=EL?995@%AZ M?/+XG^ 59L;BYM[I#:3O!,Y"!T8@\D57[\U9>UN[ PW$]M+"NY6C:5" QZC& M>M9+<]2=K62>>O !7O39?B9KMQ)'),M@WE-N0-!G!]>O7GK5<^/M99[ MALVO[^,1RKY7!4$D#KZMG\JUO#S/*C#%6LXQ"?2_$^E6ESK%S<3VK*8T9S/^ M\DSTQ@\XQ]17-S2R3S/+*[/(YRSL\VRJ0N,E2 M?G7G@\G-<\,,>#42M?0[L,IV;FE?R$KK_AA_R4;2?]Y__0#7(]ZZ[X8?\E&T MG_>?_P! -.G\:%CO]VJ>C)/B1"]Q\3]2@B ,DLL:+DXY*J!3+?PYXG#KI]O> MMA"5B2*=C'N#;'&1PI!)SGUJ3XBSM:_%+4+A0"T,T4@!Z$A5-1Q_$"]@N'DA ML;<([M(8RS'YF?>QS]0..PJVX\SN<=)5WAJ?LTFK=2M=:;XJL)8G+WDD@B\P M-!*7V*WR\XZ9V_D!5:#3_$]K*GD6^I1.CM&A3(PQY8=>,XY^E7;;QY?VL A2 MVAPJ1JI#,""N1GCL03D5*/B%J&QE^R0?,\C<,P&UR201WP3UI>YW+2Q*5N1$ M"6'BHVOVF6XO850N45I&+ETZC Y'WN_'-1_V)XDFLI6NC=0VY+ADE9B68#>1 MM&3SP<],U8'CRZW,9=.M9=V\%69L%6"A@?7[@_.K$GQ&OFG29-/M8WB&(L%L M)\@7IWX H]SN3RXKI!&/ MWJ2%DLK=4X(7G=J[3X\.U>7_&3Q.VG:)'HEO)MN+_F4@\K$.OYGC\Z].)"KN/"@9)KY7\;: MZWB/Q;?WX?=")#%#@\!%X'Y\G\:QKSY8V/4RC#>WQ%WM'7_(Y\TE+T[4E<)] MJ'48KOH_%VC?VY'J$T4DD8LUMVA^R@L6"!=Q+-@X(R,#/%<#134W'8YZV'A6 M^(]'N?$6@6=QI(E#W'E11S/+!"G!V8*G_>/)[BJ\WC'0C+#Y%@5CBD#+NME^ M48?. #U^9?RK@**OVK.=9=36[?WG?S>+O#SVK11Z=,<*X)>)"902^$)'098- MD>E8?BC6['6%M!90&)H2V?_P! -9'AWPUJGB?4/LFFVYR.7,\;3A3E1WE+2QXU\3_\ DH^K_P"\ MG_H KDN:^DO$W@O1/'UA]L@D6&]"_N[N,9;,,LQE.I35%Z22M8R*.:7%)61ZP4444 %%%% !1^% M+Q10!]%?";Q.==\,"SN'W7FGXB?)Y9/X&_+C\*] [5\Q_#77SH/C:T=W M[L M_9IN>S?=/X'%?38^[7?1GS1/A\TPWL,0[;/5&)XK\00^&/#EQJD\1F6/:HB! MQO).,5Y7_:?PL\3_ /'Y8R:/EE>7QJ4/:M[F>TE$MK-)!(#D-$Y4_I78:1\ M5/%>E;5:^6\B'\%TFX_]]#!K+FIO?0]/V>.I?#)37GH<6ZLCE'!5AU5A@BDK MUI?B;X7UY1%XH\,1[CP9H5#_ (]FIW_"%_#[Q+SH'B V4[)3'>Z@'LM M+/.XC$DP_P!D=A[FNS\$_"6VTU$U3Q((YKE1O6USF.+_ 'O[Q_2NDUOQ<%4V MNE8 VF;' ]E%5+DHQYZK^1Y>)S*=:3I85>K+1B<9.OILNP8;!PH^\ M]9=RWI^I76EW'GVTA7^^I^ZP]"*[,3Z+XWTM]/U&V1BP^:%SRI_O*?\ "N!I MR.\;JZ,5=3D,#@BGAL9.B[/5!B<'&M[T=)=SE/&WPTU'PLSWEIOO-*SQ*!\\ M7LX_K7#=LCI7TOHGBU)T%IJNW+#:)2/E;V:N1\2M'GI?<&&S*=&7L<7IV9XK14DL+P3M!+&Z3(VUHV4A@?3%=#HW M@+Q-KNUK32Y4A;_EK/\ NU_7D_A4J,F[6/9G7IP7-*22.:IEQ*N!G_>;)_(5I[)K MXG8X7F2F[4(N3_#[SA]&\!>)==*FSTN58F_Y;3CRT_7K7:0?";2M&A6Y\6>( MX8%')BA8+^&3R?P%8&M?%CQ3JVY(KE-/A/\ !:KAL?[QYKBYYYKJ5I;B:2:0 M\EY&+,?Q-%Z<=M1>SQM;XY*"[+5_>>K_ /":> O"H*>'="-]X_.ODGH>M?0/P5OS<^"I;0L2UI(K4L1[EO_ *U>5GK7 MHWQI8GQQ&/[MFG\S7G-8U7[[/7RM6PD HHHK,] ****!&WI7BWQ!HK*;#5[F M)1_RS+[D_P"^3Q7MGPQ\AY>98*G4H2E&*YEU/5?%6K7LNH36# MGRK>,X"*?OCU-.;/9=V]X!@2#RV^HY%78CA1ZU>?PU?#61IVW.?F\['R[/7_P"M64:%2:O%:&T\12A+ MED]3&KL-"T/1M8L?-V3),AVR*). ?;VJ]?>$K.YLX8+.18IX" S]2P[[O?O4 M>I:K;^%[.'3M/17G&"^>P[D^YKT*6%5!N5:W*>76QCQ"4:%U(YKQ%IT&F:LU MM;!O+V!OF.3DUI^$M7O5OHM.SYUNV^YN;PC[BB-3[GK6="[Q=J6B-J]OJ5ZJN_/N5O'GB[1O".HV\C:+ M!>ZK/&660JH*J#@9;&?_ -5>7ZS\5_%.K!DCNTL(3_!:K@X_WCS5;XF:O_:W MCS475LQ6Y%LG_ >OZYKD,8KTZE63DTMCNP&7451C.I&\O,DGGEN96EN)9)I6 MZO(Q8G\34=+25B>NDDK(****!A7L?P)N#NUJUSU$<@'Y@_TKQRO5?@4Q_P"$ M@U90>#:J?_'ZUH_&CS,W5\'+Y%7XVQ%/&-M)_P ]+-?T8UYI7L'QVM"+O1KW M!PR20G\,$?S->0"E67OLK*I*6$@2/;S1Q"5X94B/1V0A3^/2F,I4*6!4,,J2 M,9'J*ZK3-GX5OW/BKPA)"(A9;UCRJ" M2V) C+L=JCL1D&DH1?4<\55@[.FV>:@9!89*CJ0.E*T;IC>C)D97&5)HFVR1L'4^A!R*::*D[&KJS M/I^XG7Q/X"@U"+YFD@6<>Q ^8?SKB+6VFO;F.WMT+R2' %:/P6U87OAB[TF5 M@6LY?E!_N/S_ #S4EM=R>&M>N5$0=5+(5/7'4$&L<=3A*4*DMGN?,8=U*$ZM M"*U6J.AFDM?!^DB*(B2^F&<]R?7Z"H!XS7^Q2S(/[1'R!0."?[WTKD[V\GO[ MM[FX?=(Y_ #TJO7-/'2C)JEI'8TAET)13JZRWN:%CK5[87\"3ZC+P5A>X M;\N!_*N'MH&NKN&W7K(X7\ZV?C#J*Z9X'CTZ)MK7DJP@#^XO)_D*]++(6>62:0YDD8NQ]23DTD<4DK;8XWD8#)"*3@>O%--=)X1U MFUT:YN6NY7CCF5 =D9)(#9."#E6[@]/6NI:O4]^M*5*FW!7LO%/\B06 M_P!H,;^3O\OS,?+NQG&?6N[N_$_AI;*1]/TZ/[2(1Y/G6P+!MRDACT.0#SCO M1_PD7A<6MU;6]F+?#G[')):B7RQM&68?Q'.X<^U7R1[G+];JM7]FS@?ESUZ4 MYXWC;$B,A(R RD''XUTNMZGH-[;:7%96IC$+J;@QQ;),<;L'H.-: MTO7KJSO+"65IDB,4J-&50*#\I7/?'7WJ7%)/4UCB)N44X-)W.3KUGX$Q'^U] M8G_A%NB?FV?Z5Y/Z5[;\"K0KI.KWC#_63I&/^ C/]:NAK-'-G$N7"27>QL?& M73?MW@G[4JY>RF27/HI^4_SKYZ'7VKZZUK3(]7T.]TZ0#;<0-'S[CC]<5\DW M%O):7,MM,I66%S&X/8@X-7B8ZIG'D-;FI2I=4[G16&F6DOAV.X%JER\C2BYG M:;8;4#;M('3H2<'KTKJ+'P/HEM=317KR7(9-T>^4(?OLHQCU !KS'/48X/4> MM')]?SK)3BNAZ-3#59-VG8[IO!>FI;)W C>!I@"R#I&K8_P"^B0?I6)XL MT.UT&_AM[6YDG5XRS%P.N>H(Z@U@Y.><_G24.46K)%TZ%:,KRG==A*4=:2BH M.P[KX2ZP=,\R73T9[PSH857J6!XKZ>U;4= \N&TU^]L8I]@C92R@&0/[[ MK^$;6<0Z;J6GB6=@H1)P2Y[ #?#T5[L#Q1%9Q> M(+A-.CBCM,(8UB?P&*WPT=6SR,_K6C&E\R;M^%?/7Q@\.G2O%/]IQ1XMM1&[(Z"4?> M'XC!_.OH;M7-^./#4?BKPQR.J\ Z/:^$/#=QXXUM-KF,BRA M;[Q!Z$#U;M[5YEK6JW6O:O<:G?-OGG?PKK/B7XP7Q'K"V-D0NDV)V M0A>CL."WT["N&Z _3-74DOACL<6"HR;>(K?%+\%V&[1Z#\J,#T'Y5Z'!X+TJ M?1C=!;M7CM=[D-SYA0, 4/4>[1Z#\J7"_W17>0_#I9%@+ZFP\Q$8HD&YAO*[2.>0-W M/IBJNL^$8;'18=065\F+&R" OEAG+2')V@XZ]*/922N../H2DHQ>YQR_*X9? ME8'(8<$'UKV73IX/BOX(?3;IT3Q%IJ[HY#_'Z'Z'H?>O&:TM"UN[\/:Q;ZG9 M-B:!L[3T=>ZGV(HISY79[,,9AO;1YH:2CJBEA\;Z"FYMG^FPJ/FP.I(_O+W]17DGO1.#BR\)B57IWV:W7F% M%%%0=84458L;*YU&_@LK2,R7$[A(U'[=JQ?"^@V_AK0+72[<9\I/WCX^^Y^\?SK:[5Z-.'+&Q\'C ML3]9KNITZ"TUNU.I#5G&>*_&#P24=O$VGQ?(V!>QJ.AZ"3^AKQ_K7V/-#'/" M\4R*\;J596&0P/4&OG+XB^ 9?"M\;RS1GT>=OD;KY+'^%O;T-EKS(^FR? M,;I4*CUZ?Y'"44N*,=?;O7-<^B+6F:==:OJ5O8649DN)W"(O]3[#K7JOC+4; M7P#X0M_!VD2?Z?<)NO)U^\ ?O'ZMT'H*/!NG6WP_\'W'B_6(_P#B87,>VS@8 M88 _='U;J?05Y5J6H7.K:A/?WLADN;AR[L?7T^@Z5M;V=HS@X[9P:G37O%5TL36MA*+JTCD-U,;<;7^96W$$ M8W# YZUGIXB\4VY"*LJ2+$O_ "Z?,(U.1GCID5=HKN1W$\.WYY6!C@1ANR23E2"!TX.:QF\+>)95RY.Z>7RVB-S@D[B/F&>F0:F M@UOQ?=SI"D,C-,50A[4!9."%#$C!&#W]JB;4/%$EN_F;Y62?8\+0;I-V2^2, M=,D\T/E:ZB7MHN]XW(=.\(WE^=7!GCB;3(O,DV@N'[X!'?\ 6N=!R,D=:Z.+ MQ3XDLIY=221U:XDRTLEO\N\+MXR,9V\5SK/O=G(&2G9<(W2,G@/_0^U+\1_!H\,ZLMW9#=I-Z=\##D M1GJ4^G<5Q.>OO7K/@#6[3Q7H$W@?7GW,R'[%*QYP.< _WEZCVXJX/G7(SDQ4 M'AJOUJGM]I>7<\F-)6GKVAW?AW6;C3+Y<2PMPV.'7LP]C6;BL6K.QZ4*D9Q4 MH[!T'\Z]P^$/@DV4 \1ZC$1<3+MM(V'*(>K?4_RKEOAG\/GU^ZCU?4XB-*B; M,:,/^/AA_P"RCOZU] JH4!5 P !TKKH4OM,^=SC,$[X>F_7_(?2'I2TAZ5 MU'S8M%%% !5:\LK>_M)K2[A6:WE4J\;C((JS10--IW1\Y^/?AK=>&9)+_3U> MYTECG(&7M\]F]5]_SJ'X9^#U\1:N=0OE TFP/F2LW21AR%SZ#J:^CY$#QE&4 M,K#!!&017&>+?"M[+X+GT?PJEM9"1R\D(&WS%)RR@]B37.Z*4N9'M4\VJ3I> MPF[-Z-?$/Q@WBO7L6Y(TVTS';)V;U?\ 'M[5Q_L:LW^GWFEWC6E_;2VU MPG!CD7!_#U_"JWU%.<8KAZ*KVDNYS_4,/_*=NOQ"?[1+ M-)IYE+3K-&IG.(R-N<<9YV_3GI5C3O'\ BNTO;9XU: ;"DIW.ZJ%"YQQG'6N M HI^UD)Y?0:V.CUKQ4^M:9]EFM LOGF;S=_"@DG:!@<<]\USE%%9MW=V=-.E M"DK1"I;>XFM+F*Y@D:.:%P\;KU5AT-1X-7=*TC4-;O5L]-M)+F@ M'UH6KT*J.,8MSV/6=0A@^*_@==0MHT3Q%IJ[9(QUD]1]&ZCWK$\ ?"^XUF5- M1UR&2WTY3E;=P0\Q]_1?YUW?PZ^'$GA29M2OKMGOY8]AAB;]V@]#_>->BUVQ MI:CAI>[T?;T(8((K>!(8(TCBC&U$48"@=@*E%+16YY 4AZ4 MM(>E "T4F:,T +129HS0 $9I-I]:7-&: ,S6?#NE^(+0VVJ645RG8L/F7Z'J M*\HU_P""$JEYM U .O46]UP1[!Q_45[5FD/2HE3C+:+:.Q MZNL>UOS&*PEAOY6>S2X@=OWL/N/E3!I*^B[GX->$IR3'%=V^>T85K6YX+2U[RGP-T$-E]1U!QZ;E']*T;7X.^$; MZN#Z2SG'Z8IK#S82SW#+:_W'SIQG&>3T%;ND>#O$.N,/L&E7#H?^6KK ML0?B:^DM.\(>'=)P;+1[2)A_%Y8+?F:VL# & .PJUAN[.&MQ WI2A]YX[X> M^""C9-X@OM^.?LUL<#Z%NOY5ZII>BZ?HEJ+;3;2&VA'\,:XS]3WJ^*7-=$81 ACL>-B,76Q#O48 8I:3-&:HYA:*3-&: %I#THS1F@#__9 end XML 18 R1.htm IDEA: XBRL DOCUMENT v3.24.1
Document And Entity Information - USD ($)
12 Months Ended
Dec. 31, 2023
Mar. 01, 2024
Jun. 30, 2023
Document Information [Line Items]      
Entity Central Index Key 0001036262    
Entity Registrant Name INTEST CORP    
Amendment Flag false    
Current Fiscal Year End Date --12-31    
Document Fiscal Period Focus FY    
Document Fiscal Year Focus 2023    
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2023    
Document Transition Report false    
Entity File Number 1-36117    
Entity Incorporation, State or Country Code DE    
Entity Tax Identification Number 22-2370659    
Entity Address, Address Line One 804 East Gate Drive, 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 NYSE    
Entity Well-known Seasoned Issuer No    
Entity Voluntary Filers No    
Entity Current Reporting Status Yes    
Entity Interactive Data Current Yes    
Entity Filer Category Accelerated Filer    
Entity Small Business true    
Entity Emerging Growth Company false    
ICFR Auditor Attestation Flag true    
Document Financial Statement Error Correction [Flag] false    
Entity Shell Company false    
Entity Public Float     $ 304,734,005
Entity Common Stock, Shares Outstanding   12,164,698  
Auditor Firm ID 49    
Auditor Name RSM US LLP    
Auditor Location Blue Bell, Pennsylvania    
XML 19 R2.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Balance Sheets - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 45,260 $ 13,434
Restricted cash 0 1,142
Trade accounts receivable, net of allowance for credit losses of $474 and $496, respectively 18,175 21,215
Inventories 20,089 22,565
Prepaid expenses and other current assets 2,254 1,695
Total current assets 85,778 60,051
Property and equipment:    
Machinery and equipment 7,118 6,625
Leasehold improvements 3,601 3,242
Gross property and equipment 10,719 9,867
Less: accumulated depreciation (7,529) (6,735)
Net property and equipment 3,190 3,132
Right-of-use assets, net 4,987 5,770
Goodwill 21,728 21,605
Intangible assets, net 16,596 18,559
Deferred tax assets 1,437 280
Restricted certificates of deposit 100 100
Other assets 1,013 569
Total assets 134,829 110,066
Current liabilities:    
Current portion of Term Note 4,100 4,100
Current portion of operating lease liabilities 1,923 1,645
Accounts payable 5,521 7,394
Accrued wages and benefits 4,156 3,907
Accrued professional fees 1,228 884
Customer deposits and deferred revenue 3,797 4,498
Accrued Sales Commission, Current 1,055 1,468
Domestic and foreign income taxes payable 1,038 1,409
Other current liabilities 1,481 1,564
Total current liabilities 24,299 26,869
Operating lease liabilities, net of current portion 3,499 4,705
Term Note, net of current portion 7,942 12,042
Contingent consideration 1,093 1,039
Deferred revenue, net of current portion 1,331 0
Other liabilities 384 455
Total liabilities 38,548 45,110
Commitments and Contingencies (Note 12)
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 shares authorized; 12,241,925 and 11,063,271 shares issued, respectively 122 111
Additional paid-in capital 54,450 31,987
Retained earnings 42,196 32,854
Accumulated other comprehensive earnings 414 218
Treasury stock, at cost; 75,758 and 34,308 shares, respectively (901) (214)
Total stockholders' equity 96,281 64,956
Total liabilities and stockholders' equity $ 134,829 $ 110,066
XML 20 R3.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Balance Sheets (Parentheticals) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Allowance for doubtful accounts $ 474 $ 496
Preferred stock par value (in dollars 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 dollars 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,241,925 11,063,271
Treasury stock, shares (in shares) 75,758 34,308
XML 21 R4.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Operations - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Revenue $ 123,302 $ 116,828
Cost of revenue 66,324 63,388
Gross profit 56,978 53,440
Operating expenses:    
Selling expense 17,605 15,903
Engineering and product development expense 7,618 7,529
General and administrative expense 21,316 19,287
Total operating expenses 46,539 42,719
Operating income 10,439 10,721
Interest expense (679) (635)
Other income 1,288 59
Earnings before income tax expense 11,048 10,145
Income tax expense 1,706 1,684
Net earnings $ 9,342 $ 8,461
Earnings per common share – basic (in dollars per share) $ 0.82 $ 0.79
Weighted average common shares outstanding – basic (in shares) 11,461,399 10,673,017
Earnings per common share – diluted (in dollars per share) $ 0.79 $ 0.78
Weighted average common shares and common share equivalents outstanding – diluted (in shares) 11,779,912 10,862,538
XML 22 R5.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Comprehensive Earnings - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Net earnings $ 9,342 $ 8,461
Unrealized gain (loss) on interest rate swap agreement (243) 549
Foreign currency translation adjustments 439 (925)
Comprehensive earnings $ 9,538 $ 8,085
XML 23 R6.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Stockholders' Equity - USD ($)
$ in Thousands
Common Stock [Member]
Additional Paid-in Capital [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Treasury Stock, Common [Member]
Total
Balance (in shares) at Dec. 31, 2021 10,910,460          
Balance at Dec. 31, 2021 $ 109 $ 29,931 $ 24,393 $ 594 $ (204) $ 54,823
Net earnings 0 0 8,461 0 0 8,461
Other comprehensive loss 0 0 0 (376) 0 (376)
Amortization of deferred compensation related to stock-based awards $ 0 1,787 0 0 0 1,787
Issuance of unvested shares of restricted stock (in shares) 123,533          
Issuance of unvested shares of restricted stock $ 1 (1) 0 0 0 0
Stock Issued During Period, Shares, Restricted Stock Award, Forfeited (in shares) (5,944)          
Stock Issued During Period, Value, Restricted Stock Award, Forfeitures $ 0 0 0 0 0 $ 0
Stock options exercised (in shares) 8,060         8,060
Stock options exercised 38 0 $ 38
Shares issued under Employee Stock Purchase Plan (in shares) 27,162          
Shares issued under Employee Stock Purchase Plan $ 1 232 0 233
Shares surrendered to satisfy tax liability at vesting of stock-based awards $ 0 0 0 0 (10) (10)
Balance (in shares) at Dec. 31, 2022 11,063,271          
Balance at Dec. 31, 2022 $ 111 31,987 32,854 218 (214) 64,956
Net earnings 0 0 9,342 0 0 9,342
Other comprehensive loss 0 0 0 196 0 196
Amortization of deferred compensation related to stock-based awards $ 0 2,047 0 0 0 2,047
Issuance of unvested shares of restricted stock (in shares) 97,461          
Issuance of unvested shares of restricted stock $ 1 (1) 0 0 0 0
Stock Issued During Period, Shares, Restricted Stock Award, Forfeited (in shares) (17,491)          
Stock Issued During Period, Value, Restricted Stock Award, Forfeitures $ 0 0 0 0 0 $ 0
Stock options exercised (in shares) 124,550         124,550
Stock options exercised $ 1 977 0 0 0 $ 978
Shares issued under Employee Stock Purchase Plan (in shares) 11,780          
Shares issued under Employee Stock Purchase Plan $ 0 205 0 0 0 205
Shares surrendered to satisfy tax liability at vesting of stock-based awards $ 0 0 0 0 (687) (687)
Issuance of additional shares of restricted sock related to performance-based awards which vested in the period (in shares) 40,557          
Shares issued pursuant to At-the-Market Offering (in shares) 921,797          
Shares issued pursuant to At-the-Market Offering $ 9 19,235 0 0 0 19,244
Balance (in shares) at Dec. 31, 2023 12,241,925          
Balance at Dec. 31, 2023 $ 122 $ 54,450 $ 42,196 $ 414 $ (901) $ 96,281
XML 24 R7.htm IDEA: XBRL DOCUMENT v3.24.1
Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
CASH FLOWS FROM OPERATING ACTIVITIES    
Net earnings (loss) $ 9,342 $ 8,461
Adjustments to reconcile net earnings to net cash provided by (used in) operating activities:    
Depreciation and amortization 4,683 4,734
Provision for excess and obsolete inventory 544 771
Foreign exchange (gain) loss (9) 109
Amortization of deferred compensation related to stock-based awards 2,047 1,787
Discount on shares sold under Employee Stock Purchase Plan (31) (36)
Proceeds from sale of demonstration equipment, net of gain 167 68
Loss on disposal of property and equipment 11 0
Deferred income tax benefit (1,157) (1,659)
Adjustment to contingent consideration liability (294) 0
Changes in assets and liabilities:    
Trade accounts receivable 2,991 (4,886)
Inventories 2,027 (10,631)
Prepaid expenses and other current assets (535) (243)
Other assets (686) (2)
Operating lease liabilities (1,712) (1,363)
Accounts payable (1,811) 2,875
Accrued wages and benefits 231 (118)
Accrued professional fees 339 (157)
Customer deposits and deferred revenue (759) (1,464)
Accrued sales commission (421) 621
Domestic and foreign income taxes payable (371) (573)
Other current liabilities 231 184
Deferred revenue, net of current portion 1,331 0
Other liabilities (17) 61
Net cash provided by (used in) operating activities 16,203 (1,389)
CASH FLOWS FROM INVESTING ACTIVITIES    
Payment of contingent consideration related to Z-Sciences acquisition 0 (179)
Refund of final working capital adjustment related to Acculogic 0 371
Purchase of property and equipment (1,291) (1,365)
Purchase of short term investments 0 (3,494)
Sales of short term investments 0 3,494
Net cash used in investing activities (1,291) (1,173)
CASH FLOWS FROM FINANCING ACTIVITIES    
Net proceeds from public offering of common stock 19,244 0
Proceeds from stock options exercised 978 38
Proceeds from shares sold under Employee Stock Purchase Plan 174 197
Settlement of employee tax liabilities in connection with treasury stock transaction (687) (10)
Net cash provided by (used in) financing activities 15,609 (3,733)
Effects of exchange rates on cash 163 (324)
Net cash provided by (used in) all activities 30,684 (6,619)
Cash, cash equivalents and restricted cash at beginning of period 14,576 21,195
Cash, cash equivalents and restricted cash at end of period 45,260 14,576
Cash payments for:    
Domestic and foreign income taxes 3,240 3,924
SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES:    
Stock Issued 1,601 1,138
Forfeiture of unvested shares of restricted stock (176) (54)
Term Note [Member]    
CASH FLOWS FROM FINANCING ACTIVITIES    
Repayments of Term Note $ (4,100) $ (3,958)
XML 25 R8.htm IDEA: XBRL DOCUMENT v3.24.1
Insider Trading Arrangements
1 Months Ended 12 Months Ended
Dec. 31, 2023
shares
Dec. 31, 2023
shares
Insider Trading Arr Line Items    
Material Terms of Trading Arrangement [Text Block]  

Item 9B.

OTHER INFORMATION

 

On December 8, 2023, Richard N. Grant, the Company’s Chief Executive Officer, entered into a prearranged stock trading plan (the “Grant 10b5-1 Plan”). The Grant 10b5-1 Plan was entered into during an open insider trading window, is designed to satisfy the affirmative defense of Rule 10b5-1(c), and terminates on December 31, 2026. The Grant 10b5-1 Plan provides for the sale from time to time upon a vesting event of a number of shares equal to 40% of the fair market value of the shares that vest upon such vesting event for the purpose of covering applicable taxes due at such vesting event. The plan also has a one-time sale of Common Stock with an aggregate value not to exceed $775,000.

Trading Arrangement Adoption Date December 8, 2023  
Trading Arrangement, Individual Name Richard N. Grant  
Trading Arrangement, Individual Title Chief Executive Officer  
Rule 10b5-1 Arrangement Adopted [Flag] true  
Non-Rule 10b5-1 Arrangement Adopted [Flag] false  
Rule 10b5-1 Arrangement Terminated [Flag] false  
Non-Rule 10b5-1 Arrangement Terminated [Flag] false  
Trading Arrangement Termination Date December 31, 2026  
Trading Arrangement, Securities Aggregate Available Amount 775,000 775,000
XML 26 R9.htm IDEA: XBRL DOCUMENT v3.24.1
Note 1 - Nature of Operations
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Nature of Operations [Text Block]

(1)

NATURE OF OPERATIONS

 

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 automotive, defense/aerospace, industrial, life sciences, security and semiconductor. 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 and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Germany, Singapore, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.

 

We announced in December 2023 that we have signed a lease on a 25,000 square foot facility in Penang, Malaysia which will support applications engineering, product development and localized manufacturing for nearly all inTEST brands. Operations are expected to begin at this location at some point in 2024. In connection with this operation, we established inTEST SE Asia Sdn Bhd (“inTEST SE Asia”), a private limited company incorporated in Malaysia which is a wholly-owned subsidiary of inTEST Corporation.

 

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 semiconductor market (“semi” or the “semi market”) which includes both the broader semiconductor market, as well as the more specialized automated test equipment (“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 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 acquisition of Acculogic Inc. and its affiliates (“Acculogic”) in December 2021, our Electronic Test segment also sells its products to customers in markets outside the semi market including the automotive, 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 automotive, 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 automotive, defense/aerospace, industrial, life sciences and 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.

 

On May 11, 2023, we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20,000 between May 11, 2023 and May 31, 2023. We received net proceeds from the sale of these shares of $19,244 after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.

   

XML 27 R10.htm IDEA: XBRL DOCUMENT v3.24.1
Note 2 - Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Significant Accounting Policies [Text Block]

(2)

SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

 

Basis of Presentation and Use of Estimates

The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant 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 and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.

 

Reclassifications

Certain prior year amounts have been reclassified to be comparable with the current year's presentation. 

 

Subsequent Events

 

We have made an assessment of our operations and determined that there were no material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the year ended December 31, 2023 other than those described in Note 19.

 

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.

Restructuring and Other Charges

 

In accordance with the guidance in Accounting Standards Codification (“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 right-of-use (“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 Topic 842 (Leases), ASC Topic 360 (Property, Plant and Equipment) and ASC Topic 350 (Intangibles - Goodwill and Other).

 

Cash, Cash Equivalents and Restricted Cash

 

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.

 

Restricted cash at December 31, 2022 represented amounts deposited at our bank in the Netherlands to support a bank guarantee which one of the customers of our induction heating products required as a condition of paying a deposit on a large order they placed with us in 2022. The amount of the deposit, and, accordingly, the guarantee, was EUR 1,160. At December 31, 2022 this amount was $1,142. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At December 31, 2023, this deposit had been fully utilized and the bank guarantee had therefore lapsed.

 

The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets and the consolidated statements of cash flows:

 

  

December 31,

 
  

2023

  

2022

 

Cash and cash equivalents

 $45,260  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $45,260  $14,576 

 

Trade Accounts Receivable and Allowance for Doubtful Accounts

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. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective January 1, 2023, we follow the guidance in ASC Topic 326 (Financial Instruments – Credit Losses) 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.

 

For the year ended December 31, 2023, there were no significant changes in the amount of the allowance for credit losses. Bad debt recoveries totaled $198 and $470 for the years ended December 31, 2023 and 2022, respectively. These amounts had all been fully written off in a prior period or pre-acquisition, in the case of recently acquired businesses, and were no longer in our accounts receivable balance. Bad debt expense to reserve for items currently in our accounts receivable balance which we do not expect to collect totaled $286 for the year ended December 31, 2022. There was no similar bad debt expense for the year ended December 31, 2023. Cash flows from accounts receivable are recorded in operating cash flows.



Fair Value of Financial Instruments

 

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 maturities of the accounts. Our credit facility and our interest rate swap are discussed further below and in Note 10. Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC 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). 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 3 for further disclosures related to the fair value of our liabilities for contingent consideration.

 

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). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. 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 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.

 

 

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 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.

 

Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. 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.

 

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 automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) 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 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 also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and 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 Other Liabilities 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 Topic 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 Notes 5 and 17 for further information about our revenue from contracts with customers.

 

Inventories

 

Inventories are valued at cost on a first-in, first-out basis, not in excess of net realizable 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. We incurred excess and obsolete inventory charges of $544 and $771 for the years ended December 31, 2023 and 2022, respectively.

 

Property and Equipment

Machinery and equipment 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 previously discussed above under "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 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. Total depreciation expense was $1,021 and $809 for the years ended December 31, 2023 and 2022, respectively.

 

Leases

 

We account for leases in accordance with ASC Topic 842 (Leases). 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 Topic 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 Topic 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 8 for further disclosures regarding our leases.

 

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 Notes 3 and 10. The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with 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. 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.

 

Contingent Liability for Repayment of State and Local Grant Funds Received

 

In connection with leasing a facility in Rochester, New York, which our subsidiary, 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 $550 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 are required to create and maintain specified levels of employment in this location through various dates ending in 2024. If we fail to meet these employment targets, we may be required to repay a proportionate share of the proceeds. At December 31, 2023, $193 of the total proceeds received could still be required to be repaid if we do not meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are no longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the 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 $246 at December 31, 2023. At December 31, 2023, we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester.

 

 

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. See further disclosures related to our stock-based compensation plans in Note 13.

 

Engineering and Product Development

 

Engineering and product development costs, which consist primarily of the salary and related benefits costs of our technical staff, as well as the cost of materials used in product development, are expensed as incurred.

 

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 year ended December 31, 2023, net foreign currency transaction gains were $9. For the year ended December 31, 2022, net foreign currency transaction losses were $109.

 

Income Taxes

The asset and liability method is used in accounting for 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. See Note 11 for additional information regarding income taxes.

 

Net Earnings Per Common Share

Net earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Net earnings per common share - diluted is computed by dividing net earnings 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 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.

 

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 per share because their effect was anti-dilutive:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 
         

Weighted average common shares outstanding–basic

  11,461,399   10,673,017 

Potentially dilutive securities:

        

Unvested shares of restricted stock and employee stock options

  318,513   189,521 

Weighted average common shares and common share equivalents outstanding–diluted

  11,779,912   10,862,538 

Average number of potentially dilutive securities excluded from calculation

  140,079   478,024 

 

Effect of Recently Adopted Amendments to Authoritative Accounting Guidance

 

In June 2016, the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In November 2019, the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after December 15, 2022. The amendments replaced the incurred loss impairment methodology under previous GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on January 1, 2023. The adoption of these amendments did not have any impact on our consolidated financial statements.

 

Effect of Recently Issued Amendments to Authoritative Accounting Guidance

 

In November 2023, the FASB issued amendments to the guidance for disclosures about reportable segments which require disclosures of significant expenses by segment and interim disclosure of items that were previously required on an annual basis. The amendments are to be applied on a retrospective basis and are effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.

 

In December 2023, the FASB issued amendments to the guidance for disclosures about income tax which provide for additional disclosures primarily related to the income tax rate reconciliations and income taxes paid. 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 are evaluating the impact of the amendments on disclosures in our consolidated financial statements.

   

XML 28 R11.htm IDEA: XBRL DOCUMENT v3.24.1
Note 3 - Fair Value Measurements
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Fair Value Disclosures [Text Block]

(3)

FAIR VALUE MEASUREMENTS

 

ASC Topic 820 (Fair Value Measurement) 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.

 

Recurring Fair Value Measurements

 

The interest rate swap agreement we entered into in connection with our Term Note, as discussed further in Notes 2 and 10, is measured at fair value on a recurring basis using Level 2 inputs. The contingent consideration liability on our balance sheets 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. Our acquisition of Acculogic and this liability are both discussed further in Note 3 to our consolidated financial statements in our Annual Report on Form 10-K for the year ended December 31, 2022 (the “2022 Form 10-K”) filed on March 22, 2023 with the Securities and Exchange Commission. As of December 31, 2023, this liability was classified as long-term. As of December 31, 2022, $324 of this liability was classified as current and was included in Other Current Liabilities on our balance sheet. During the year ended December 31, 2023, the total amount of this liability was adjusted down by $294 as a result of a reduction in our forecast for sales to EV and battery customers in the five-year period following the acquisition. The decrease in the amount of the liability during 2023 was included in General and Administrative Expenses on our statement of operations.

 

The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

At December 31, 2023

                

Contingent consideration liability – Acculogic

 $(1,093) $-  $-  $(1,093)

Interest rate swap

 $285  $-  $285  $- 

 

  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

At December 31, 2022

                

Contingent consideration liability – Acculogic

 $(1,363) $-  $-  $(1,363)

Interest rate swap

 $528  $-  $528  $- 

 

Changes in the fair value of our Level 3 contingent consideration liabilities for the years ended December 31, 2023 and 2022 were as follows:

 

Balance - January 1, 2022

 $1,109 

Payout of contingent consideration related to the acquisition of Z-Sciences

  (179)

Adjustment to contingent consideration liability in connection with the acquisition of Acculogic

  500 

Impact of foreign currency translation adjustments

  (67)

Balance - December 31, 2022

  1,363 

Adjustment to contingent consideration liability in connection with the acquisition of Acculogic

  (294)

Impact of foreign currency translation adjustments

  24 

Balance - December 31, 2023

 $1,093 

   

XML 29 R12.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Goodwill and Intangible Assets Disclosure [Text Block]

(4)

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 years ended December 31, 2023 and 2022 are as follows:

 

Balance - January 1, 2022

 $21,448 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  451 

Impact of foreign currency translation adjustments

  (294)

Balance - December 31, 2022

  21,605 

Impact of foreign currency translation adjustments

  123 

Balance - December 31, 2023

 $21,728 

 

Goodwill was comprised of the following at December 31, 2023 and 2022:

 

  

December 31,

 
  

2023

  

2022

 

Electronic Test

 $3,436  $3,369 

Environmental Technologies

  1,817   1,817 

Process Technologies

  16,475   16,419 

Total Goodwill

 $21,728  $21,605 

 

 

Intangible Assets

Changes in the amount of the carrying value of indefinite-lived intangible assets for the year ended December 31, 2023 and 2022 are as follows:

 

Balance - January 1, 2022

 $8,428 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  20 

Impact of foreign currency translation adjustments

  (79)

Balance - December 31, 2022

  8,369 

Impact of foreign currency translation adjustments

  29 

Balance - December 31, 2023

 $8,398 

 

Changes in the amount of the carrying value of finite-lived intangible assets for the years ended December 31, 2023 and 2022 are as follows:

 

Balance - January 1, 2022

 $13,206 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  29 

Impact of foreign currency translation adjustments

  (351)

Amortization

  (2,694)

Balance - December 31, 2022

  10,190 

Impact of foreign currency translation adjustments

  102 

Amortization

  (2,094)

Balance - December 31, 2023

 $8,198 

 

The following tables provide further detail about our intangible assets at December 31, 2023 and 2022:

 

  

December 31, 2023

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,407  $9,687  $6,720 

Technology

  2,895   1,417   1,478 

Patents

  590   590   - 

Backlog

  499   499   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,801   12,603   8,198 

Indefinite-lived intangible assets:

            

Trademarks

  8,398   -   8,398 

Total intangible assets

 $29,199  $12,603  $16,596 

 

  

December 31, 2022

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,313  $7,990  $8,323 

Technology

  2,855   988   1,867 

Patents

  590   590   - 

Backlog

  492   492   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,660   10,470   10,190 

Indefinite-lived intangible assets:

            

Trademarks

  8,369   -   8,369 

Total intangible assets

 $29,029  $10,470  $18,559 

 

 

 

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.

 

The following table sets forth the estimated annual amortization expense for each of the next five years:

 

2024

 $1,973 

2025

 $1,774 

2026

 $1,163 

2027

 $667 

2028

 $534 

 

Impairment of Goodwill and Indefinite Life Intangible Assets

During October 2023 and 2022, we assessed our goodwill and indefinite life intangible asset for impairment in accordance with the requirements of ASC Topic 350 using a quantitative approach. Our 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 discount rate used in 2023 for the discounted cash flows ranged between 14.5% and 16.0% depending on the reporting unit. The discount rate used in 2022 for the discounted cash flows ranged between 16.5% and 18.0% depending on the reporting unit. The selection of the rates in each year was based upon our analysis of market-based estimates of capital costs and discount rates. 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.

 

During the goodwill impairment assessment in both 2023 and 2022, we compared the fair value of our reporting units with their carrying values. This assessment indicated no impairment existed as the fair value of the reporting units exceeded their carrying values in both 2023 and 2022.

During the indefinite life intangible asset impairment assessment in both 2023 and 2022, we compared the fair value of our indefinite life intangible assets with their carrying values. This assessment indicated no impairment existed as the fair value of the indefinite life intangible assets exceeded their carrying values in both 2023 and 2022. 

 

Impairment of Long-Lived Assets and Finite-lived Intangible Assets

During 2023 and 2022, we did not review any of our long-lived assets for impairment as there were no events or changes in business circumstances that would indicate an impairment might exist.

   

XML 30 R13.htm IDEA: XBRL DOCUMENT v3.24.1
Note 5 - Revenue From Contracts With Customers
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Revenue from Contract with Customer [Text Block]

(5)

REVENUE FROM CONTRACTS WITH CUSTOMERS

 

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 also Note 17 for information about revenue by operating segment and geographic region.

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue by customer type:

        

End user

 $85,397  $84,468 

OEM/Integrator/Distributor

  37,905   32,360 
  $123,302  $116,828 

Revenue by product type:

        

Thermal test

 $21,344  $22,246 

Thermal process

  44,914   38,574 

Semiconductor test

  30,235   28,529 

Video imaging

  9,086   9,499 

Flying probe and in-circuit testers

  6,981   7,414 

Service/other

  10,742   10,566 
  $123,302  $116,828 

Revenue by market:

        

Semi

 $65,735  $68,422 

Industrial

  14,310   10,038 

Automotive (including Electric Vehicles)

  9,895   10,776 

Life Sciences

  4,856   4,589 

Defense/aerospace

  12,537   7,006 

Security

  3,688   3,241 

Other

  12,281   12,756 
  $123,302  $116,828 

    

XML 31 R14.htm IDEA: XBRL DOCUMENT v3.24.1
Note 6 - Major Customers
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Concentration Risk Disclosure [Text Block]

(6)

MAJOR CUSTOMERS

 

During the year ended December 31, 2023, one customer accounted for 13% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. During the year ended December 31, 2023, no other customer accounted for 10% or more of our consolidated revenue. During the year ended December 31, 2022, no customer accounted for 10% or more of our consolidated revenue.

   

XML 32 R15.htm IDEA: XBRL DOCUMENT v3.24.1
Note 7 - Inventories
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Inventory Disclosure [Text Block]

(7)

INVENTORIES

 

Inventories held at December 31 were comprised of the following:

 

  

2023

  

2022

 

Raw materials

 $15,948  $16,888 

Work in process

  1,563   2,432 

Inventory consigned to others

  98   59 

Finished goods

  2,480   3,186 

Total inventories

 $20,089  $22,565 

 

XML 33 R16.htm IDEA: XBRL DOCUMENT v3.24.1
Note 8 - Leases
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Lessee, Operating Leases [Text Block]

(8) 

LEASES 

 

As previously discussed in Note 2, we account for our leases in accordance with the guidance in ASC Topic 842. We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through 2031. Total operating lease and short-term lease costs for the years ended December 31, 2023 and 2022, respectively, were as follows: 

 

  

Years Ended December 31,

 
  

2023

  

2022

 
         

Operating lease cost

 $1,590  $1,340 

Short-term lease cost

 $13  $81 

 

The following is additional information about our leases at December 31, 2023:

 

Range of remaining lease terms (in years)

 0.3to7.3 

Weighted average remaining lease term (in years)

  4.3  

Weighted average discount rate

  4.6%  

 

Maturities of lease liabilities at December 31, 2023 were as follows:

 

2024

 $2,078 

2025

  1,232 

2026

  931 

2027

  761 

2028

  361 

Thereafter

  584 

Total lease payments

 $5,947 

Less imputed interest

  (525)

Total

 $5,422 

 

Cash Flow Information

 

Total amortization of ROU assets for the years ended December 31, 2023 and 2022 was $1,567 and $1,241, respectively.

 

Lease Modifications and Additions

Supplemental cash flow information related to leases for the years ended December 31, 2023 and 2022 was as follows: 

 

Year ended December 31, 2023

 

Non-cash increases in operating lease liabilities and ROU assets as a result of acquisitions and the execution of new leases:

 

  

Operating

Lease

Liabilities

  

ROU Assets

 

Addition to facility leases – Environmental Technologies

 $90  $90 

Addition to automobile leases – Process Technologies

 $30  $30 

Addition to automobile leases – Process Technologies

 $41  $41 

Addition to facility leases – inTEST SE Asia

 $455  $455 

Extension of facility lease – Process Technologies

 $136  $136 

 

During the three months ended March 31, 2023, we entered into a 25-month lease for a facility for our Environmental Technologies segment’s operation in Germany. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $90. During this same period, we entered into a 36-month lease for a car for one of the employees of our Process Technologies segment who is based in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $30.

 

During three months ended June 30, 2023, we entered into a 48-month lease for a car for one of the employees of our Process Technologies segment who is based in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities totaling approximately $41.

 

During the three months ended December 31, 2023, we entered into a 36-month lease for a facility for our inTEST SE Asia operation which we expect will begin operations at some point in 2024, as discussed further in Note 1. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $455. During this same period, we entered also extended the lease for our Process Technologies operations in the Netherlands for an additional 36 months. At the effective date of this modification, we recorded non-cash increases in our ROU assets and operating lease liabilities totaling approximately $136.

 

Year ended December 31, 2022

 

Non-cash increases in operating lease liabilities and ROU assets as a result of acquisitions and the execution of new leases:

 

  

Operating

Lease

Liabilities

  

ROU Assets

 

Extension of facility lease – Singapore

 $51  $51 

Addition to automobile leases – Videology

 $42  $42 

Addition to facility leases – Acculogic

 $942  $942 

Addition to facility leases – Acculogic

 $127  $127 

 

During three months ended March 31, 2022, we executed an amendment to the lease for our facility in Singapore which extended the term for a period of 24 months commencing on April 1, 2022 and expiring on March 31, 2024. At the effective date of this modification, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $51.

 

During the three months ended September 30, 2022, we executed a 48-month lease for an automobile for our Videology operation in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $42.

 

During the three months ended December 31, 2022, we executed a 62-month lease for a new facility for our Acculogic operation in Canada and a 37-month lease for a new facility for our Acculogic operation in California. At the effective dates of these leases, we recorded non-cash increases in our ROU assets and operating lease liabilities of approximately $942 and $127, respectively.

   

XML 34 R17.htm IDEA: XBRL DOCUMENT v3.24.1
Note 9 - Other Current Liabilities
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]

(9)

OTHER CURRENT LIABILITIES

 

Other current liabilities at December 31 were comprised of the following:

 

  

2023

  

2022

 

Accrued warranty

 $648  $673 

Accrued taxes

  57   83 

Current portion of deferred grant proceeds

  55   38 

Accrued interest

  52   61 

Current portion of contingent consideration

  -   324 

Other

  669   385 

Total other current liabilities

 $1,481  $1,564 

   

XML 35 R18.htm IDEA: XBRL DOCUMENT v3.24.1
Note 10 - Debt
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Debt Disclosure [Text Block]

(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 Restricted Certificates of Deposit on our consolidated 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 December 31, 2023 and December 31, 2022 consisted of the following:

 

   

L/C

 

Lease

 

Letters of Credit
Amount Outstanding

 

Facility

Original L/C
Issue Date

 

Expiration
Date

 

Expiration
Date

 

Dec. 31
2023

  

Dec. 31
2022

 

Mt. Laurel, NJ

3/29/2010

 

4/30/2024

 

4/30/2031

 $50  $50 

Mansfield, MA

10/27/2010

 

12/31/2024

 

12/31/2024

  50   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, on October 28, 2021, was amended by the Joinder and Amendment to Amended and Restated Loan and Security Agreement and which, on December 30, 2021, was further amended by the Joinder and Second Amendment to Amended and Restated Loan and Security Agreement (as amended, the “Loan Agreement”).

 

The Loan Agreement included a $25,000 non-revolving delayed draw term note (the “Term Note”) and a $10,000 revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility had a five-year contract period that began on the Closing Date and expired on October 15, 2026, and draws under the Term Note were permissible for two years.

 

On September 20, 2022, we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement, as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note. Under the Amended Loan Agreement, the maximum loan amount that we may borrow under the Term Note increased from $25,000 to $50,500, which raises the available funding at December 31, 2023 to $30,000. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to September 19, 2027 (the “Contract Period”). At December 31, 2023, we had not borrowed any amounts under the $10,000 Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement.

 

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 Amended 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 Amended 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 Amended 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 non-default interest rate. The Amended 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 Amended 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 December 31, 2023, we were in compliance with all of the covenants included in the Credit Facility including the debt covenants of the Amended Loan Agreement.

 

On October 28, 2021, we drew $12,000 under the Term Note to finance the acquisition of Videology as discussed in Note 12 to our consolidated financial statements in our 2022 Form 10-K. 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,500 under the Term Note to finance the acquisition of Acculogic as discussed in Note 12 to our consolidated financial statements in our 2022 Form 10-K. 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 December 31, 2023, it was approximately 7.4% based on current leverage. Effective March 1, 2024, this rate was unchanged.

 

The following table sets forth the remaining maturities of long-term debt:

 

2024

 $4,100 

2025

  4,100 

2026

  3,842 
  $12,042 

 

XML 36 R19.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Income Tax Disclosure [Text Block]

(11) 

INCOME TAXES

 

We are subject to Federal and certain state income taxes. In addition, we are taxed in certain foreign countries.

Earnings before income taxes was as follows:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Domestic

 $9,600  $9,575 

Foreign

  1,448   570 

Total

 $11,048  $10,145 

 

Income tax expense was as follows:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Current

        

Domestic – Federal

 $2,139  $2,892 

Domestic – state

  202   263 

Foreign

  522   267 

Total

 $2,863  $3,422 

Deferred

        

Domestic – Federal

 $(1,052) $(1,344)

Domestic – state

  31   (190)

Foreign

  (136)  (204)

Total

  (1,157)  (1,738)

Income tax expense

 $1,706  $1,684 

 

Deferred income taxes reflect the net tax effect of net operating loss and tax credit carryforwards as well as temporary differences between the carrying amount of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. The following is a summary of the significant components of our deferred tax assets and liabilities at December 31, 2023 and 2022:

 

  

December 31,

 
  

2023

  

2022

 

Deferred tax assets:

        

Capitalized research and development costs

 $2,320  $1,260 

Operating lease liabilities

  859   1,125 

Accrued vacation pay and stock-based compensation

  433   465 
Inventories  395   602 
Intangible assets  369   140 

Net operating loss (state and foreign)

  245   285 
Acquisition costs  44   46 

Allowance for doubtful accounts

  44   43 

Accrued warranty

  26   54 

Tax credit carryforwards

  -   89 

Other

  62   - 

Total

  4,797   4,109 

Valuation allowance

  (245)  (227)

Deferred tax assets

  4,552   3,882 

Deferred tax liabilities:

        

Intangible assets

  (1,949)  (2,101)

Right-of-use assets

  (762)  (996)

Depreciation of property and equipment

  (404)  (385)

Other

  -   (120)

Deferred tax liabilities

  (3,115)  (3,602)

Net deferred tax assets

 $1,437  $280 

 

The net change in the valuation allowance for the years ended December 31, 2023 and 2022 was an increase of $18 and $163, respectively. In assessing the ability to realize the deferred tax assets, we consider whether it is more likely than not that some portion or all of the deferred tax assets will not be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during periods in which those temporary differences become deductible. We consider the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies in making this assessment. In order to fully realize the total deferred tax assets, we will need to generate future taxable income prior to the expiration of net operating loss and tax credit carryforwards which expire in various years through 2040. 

 

An analysis of the effective tax rate for the years ended December 31, 2023 and 2022 and a reconciliation from the expected statutory rate of 21% is as follows:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Expected income tax expense at U.S. statutory rate

 $2,320  $2,131 

Increase (decrease) in tax from:

        

Dividend from foreign subsidiaries

  184   127 

NOL carryforwards utilized

  39   (80)

Stock compensation

  (329)  77 

Global intangible low taxed income

  87   66 

Nondeductible expenses

  21   11 

Current year tax credits (foreign and research)

  (367)  (465)

Domestic tax benefit, net of Federal benefit

  (167)  87 

Changes in valuation allowance

  18   163 

Foreign income tax rate differences

  109   147 

Section 250 foreign derived intangible income deduction

  (272)  (563)

Other

  63   (17)

Income tax expense

 $1,706  $1,684 

 

In accounting for income taxes, we follow the guidance in ASC Topic 740 (Income Taxes) regarding the recognition and measurement of uncertain tax positions in our financial statements. Recognition 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 statement of operations. At December 31, 2023 and 2022, we did not have an accrual for uncertain tax positions.

 

We file U.S. income tax returns and multiple state and foreign income tax returns. With few exceptions, the U.S. and state income tax returns filed for the tax years ended December 31, 2020 and thereafter are subject to examination by the relevant taxing authorities.

   

XML 37 R20.htm IDEA: XBRL DOCUMENT v3.24.1
Note 12 - Legal Proceedings
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Legal Matters and Contingencies [Text Block]

(12) 

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 legal proceedings the resolution of which we believe could have a material effect on our business, financial position, results of operations or long-term liquidity.

   

XML 38 R21.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Share-Based Payment Arrangement [Text Block]

(13) 

STOCK-BASED COMPENSATION PLAN

 

As of December 31, 2023, we had unvested restricted stock awards and stock options granted under 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.

 

Our unvested restricted stock awards and stock options are accounted for based on their grant date fair value. At December 31, 2023, total compensation expense to be recognized in future periods is $2,957. The weighted average period over which this expense is expected to be recognized is 2.0 years.

 

The following table summarizes the compensation expense we recorded during 2023 and 2022 related to unvested shares of restricted stock and stock options:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Cost of revenues

 $104  $62 

Selling expense

  41   32 

Engineering and product development expense

  19   51 

General and administrative expense

  1,883   1,642 
  $2,047  $1,787 

 

There was no compensation expense capitalized in 2023 or 2022. 

 

Stock Options

We record compensation expense for stock options based on the fair market value of the options as of the grant date. 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.

 

The fair value for stock options granted during 2023 and 2022 was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:

 

  

2023

  

2022

 

Risk-free interest rate

  3.93%  2.05%

Dividend yield

  0.00%  0.00%

Expected common stock market price volatility factor

  .57   .55 

Weighted average expected life of stock options (years)

  6.25   6.25 

 

The per share weighted average fair value of stock options issued during 2023 and 2022 was $9.43 and $4.53, respectively.

 

The following table summarizes the activity related to stock options for the two years ended December 31, 2023:

 

  

Number
of Shares

  

Weighted
Average
Exercise Price

 

Options outstanding, January 1, 2022

  408,869  $9.07 

Granted

  202,540   8.45 

Exercised

  (8,060)  4.74 

Canceled

  (22,930)  9.10 

Options outstanding, December 31, 2022 (167,886 exercisable)

  580,419   8.91 

Granted

  93,860   16.25 

Exercised

  (124,550)  7.85 

Canceled

  (44,723)  9.77 

Options outstanding, December 31, 2023 (171,735 exercisable)

  505,006   10.46 

 

Restricted Stock Awards

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 and over one year for our independent directors (25% at each of March 31, June 30, September 30, and December 31 of the year in which they were granted).

 

Since August 2020, we have increasingly granted performance-based restricted stock awards where the ultimate number of shares that vest can vary between 0% and 150% of the amount of the original award and is based on the achievement of specified performance metrics. Vesting for these awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for these 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 adjustment, as needed. Our initial assumption at the grant date of these awards is that the award will vest at the 100% level. Additional information on specific performance-based awards that have been issued is discussed below under “Performance-Based Awards.”

 

The following table summarizes the activity related to unvested restricted stock awards for the two years ended December 31, 2023:

 

  

Number
of Shares

  

Weighted
Average
Grant Date
Fair Value

 

Unvested shares outstanding, January 1, 2022

  262,533  $7.16 

Granted

  123,533   9.21 

Vested

  (91,672)  8.04 

Forfeited

  (5,944)  9.16 

Unvested shares outstanding, December 31, 2022

  288,450   7.80 

Granted

  97,461   16.43 

Vested

  (178,636)  8.21 

Forfeited

  (17,491)  10.08 

Unvested shares outstanding, December 31, 2023

  189,784   11.51 

 

The total fair value of the restricted stock awards that vested during the years ended December 31, 2023 and 2022 was $3,132 and $643, respectively, as of the vesting dates of these awards. 

 

 

Performance-Based Awards

On August 24, 2020, our new President and Chief Executive Officer ("CEO") received a performance-based restricted stock award totaling 75,162 shares with a vesting date of August 24, 2023. These shares were valued at $345 as of the date of grant. Per the terms of the award, the final vesting percentage could range from 0% to 150% of the number of shares awarded on August 24, 2020. On June 14, 2021, our new Chief Financial Officer ("CFO") received a performance-based restricted stock award totaling 5,953 shares. These shares were valued at $100 as of the date of grant. The vesting provisions of this award are the same as the performance-based award granted to our CEO on August 24, 2020. The final vesting percentage is based on the achievement of certain performance metrics, including revenue compound annual growth rate and diluted earnings per share excluding amortization of intangibles, for specified time periods as determined by the Compensation Committee of our Board of Directors. At December 31, 2022, we had estimated that these awards would vest at 150% of the original amount based on our assessment of the probable achievement against the relevant performance metrics. These awards vested at the 150% level on August 24, 2023. As a result, 40,557 additional shares of common stock were issued. At the original grant dates of these awards, shares totaling 100% of the respective awards were issued. These additional shares issued on August 24, 2023 represented the additional 50% that vested.

 

On March 10, 2021, we issued performance-based restricted stock awards totaling 18,000 shares to members of the senior management within our operating segments. These shares were valued at $191 as of the date of grant. These shares will 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 10, 2021. The final vesting percentage will be based on the achievement of certain performance metrics for the year ended December 31, 2023 related to the operating results of the business units for which these members of management are responsible. During the fourth quarter of 2022, we reduced the expected final vesting percentage for 6,000 of these shares to 0% based on the projected operating results for the related business unit for the relevant measurement period for the performance metrics. During the fourth quarter of 2023, we reduced the expected final vesting percentage for the remaining 12,000 shares from 100% to 88% based on actual operating results through December 31, 2023 for the related business units. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $14. This adjustment was recorded in general and administrative expense in our statement of operations. The 6,000 shares for which the vesting percentage had been reduced to 0% were forfeited in the first quarter of 2023 when the individual to whom they were granted terminated their employment with us.

 

On March 9, 2022, our CEO and CFO received performance-based restricted stock awards totaling 20,493 shares. These shares were valued at $200 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 9, 2022. The final vesting percentage will be based on the achievement of certain performance metrics, including revenue compound annual growth rate, for specified time periods as determined by the Compensation Committee of our Board of Directors. During the fourth quarter of 2023, we reduced the expected final vesting percentage for these shares from 100% to 50% based on our current projection for the performance metrics for the relevant measurement period. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $60. This adjustment was recorded in general and administrative expense in our statement of operations.

 

On October 1, 2021, we issued performance-based restricted stock awards totaling 5,000 shares to a member of senior management. These shares were valued at $59 as of the date of grant. These shares will vest on January 1, 2025 at a vesting percentage that could range from 0% to 150% of the number of shares awarded on October 1, 2021. The final vesting percentage will be based on the achievement of certain performance metrics, including revenue compound annual growth rate and diluted earnings per share excluding amortization of intangibles, for specified time periods. During the fourth quarter of 2023, we reduced the expected final vesting percentage for these shares from 100% to 50% based on our current projection for the performance metrics for the relevant measurement period. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $20. This adjustment was recorded in general and administrative expense in our statement of operations.

On March 8, 2023, our CEO, CFO and certain other members of our senior management received performance-based restricted stock awards totaling 18,888 shares valued at $303 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 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. As of December 31, 2023, we have estimated that these shares will vest at 100% of the original amount.

On May 8, 2023 the newly appointed president of our Environmental Technologies segment received performance-based restricted stock awards totaling 5,081 shares valued at $108 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 May 8, 2023. 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 December 31, 2023, we have estimated that these shares will vest at 100% of the original amount.

   

XML 39 R22.htm IDEA: XBRL DOCUMENT v3.24.1
Note 14 - Stock Repurchase Plans
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Stock Repurchase Plan [Text Block]

(14) 

STOCK REPURCHASE PLANS

 

On November 20, 2023, our Board of Directors authorized a 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,000 until November 2024. 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. As of December 31, 2023, no shares had been repurchased under the Repurchase Plan. 

   

XML 40 R23.htm IDEA: XBRL DOCUMENT v3.24.1
Note 15 - Employee Stock Purchase Plan
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Employee Stock Purchase Plan [Text Block]

(15) 

EMPLOYEE STOCK PURCHASE PLAN

 

The inTEST Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by our Board of Directors in April 2021 subject to approval by our stockholders, which occurred on June 23, 2021 at our Annual Meeting of Stockholders. The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a discounted purchase price. The ESPP became effective on October 1, 2021.

 

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.

 

During the year ended December 31, 2023, employees purchased 11,780 shares of our stock through the ESPP at a cost of $174. The closing market price on the dates of purchase were $20.74, $26.26, $15.17 and $13.60, respectively. The prices paid by employees were $17.63, $22.32, $12.89 and $11.56, respectively, which represented a 15% discount. The total amount of the discount of $31 was recorded as compensation expense in our consolidated statements of operations.

During the year ended December 31, 2022, employees purchased 27,162 shares of our stock through the ESPP at a cost of $197. The closing market price on the dates of purchase were $10.73, $6.82, $7.63 and $10.30, respectively. The prices paid by employees were $9.12, $5.80, $6.49 and $8.76, respectively, which represented a 15% discount. The total amount of the discount of $36 was recorded as compensation expense in our consolidated statements of operations. 

   

XML 41 R24.htm IDEA: XBRL DOCUMENT v3.24.1
Note 16 - Employee Benefit Plans
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Retirement Benefits [Text Block]

(16) 

EMPLOYEE BENEFIT PLANS

 

We have defined contribution 401(k) plans for our employees who work in the U.S. These plans include the inTEST Corporation Incentive Savings Plan (the “inTEST Plan”) and the Ambrell Corporation Savings & Profit Sharing Plan (the "Ambrell Plan"). During the quarter ended September 30, 2023, the Ambrell Plan, which is discussed further below, was merged into the inTEST Plan.
 

 

As of December 31, 2023, 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 Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5. Employer contributions vest ratably over four years. Matching contributions are discretionary.

 

Prior to the merger with the inTEST Plan, all permanent employees of Ambrell were immediately eligible to participate in the Ambrell Plan upon employment and were eligible for employer matching contributions after completing six months of service, as defined in the Ambrell Plan. The Ambrell Plan allowed eligible employees to make voluntary contributions up to 100% of compensation, up to the federal government contribution limits. We made a matching contribution of 50% of each employee's contributions up to a maximum of 10% of the employee's deferral with a maximum limit of $5.

 

For the years ended December 31, 2023 and 2022, we recorded expense for matching contributions to both plans of $767 and $747, respectively.

   

XML 42 R25.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Segment Reporting Disclosure [Text Block]

(17) 

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), 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 automotive, defense/aerospace, industrial, life sciences, 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 and acquired intangible amortization.
 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue:

        

Electronic Test

 $41,016  $40,219 

Environmental Technologies

  30,801   30,172 

Process Technologies

  51,485   46,437 

Total Revenue

 $123,302  $116,828 
         

Division operating income:

        

Electronic Test

 $10,189  $9,931 

Environmental Technologies

  3,073   3,817 

Process Technologies

  9,544   8,230 

Total division operating income

  22,806   21,978 
         

Corporate expenses

  (10,272)  (8,563)

Acquired intangible amortization

  (2,095)  (2,694)

Interest expense

  (679)  (635)

Other income

  1,288   59 

Earnings before income tax expense

 $11,048  $10,145 

 

  

December 31,

 
  

2023

  

2022

 

Identifiable assets:

        

Electronic Test

 $32,505  $31,143 

Environmental Technologies

  16,772   18,040 

Process Technologies

  56,842   56,866 

Corporate

  28,710   4,017 
  $134,829  $110,066 
         

Capital expenditures:

        

Electronic Test

 $599  $80 

Environmental Technologies

  495   368 

Process Technologies

  170   543 

Corporate

  27   374 
  $1,291  $1,365 

 

The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.

 

  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue:

        

U.S.

 $45,222  $49,096 

Foreign

  78,080   67,732 
  $123,302  $116,828 

 

  

December 31,

 
  

2023

  

2022

 

Property and equipment:

        

U.S.

 $2,502  $2,658 

Foreign

  688   474 
  $3,190  $3,132 

   

XML 43 R26.htm IDEA: XBRL DOCUMENT v3.24.1
Note 18 - Quarterly Consolidated Financial Data (Unaudited)
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Quarterly Financial Information [Text Block]

(18) 

QUARTERLY CONSOLIDATED FINANCIAL DATA (Unaudited)

 

The following tables present certain unaudited consolidated quarterly financial information for each of the eight quarters ended December 31, 2023. In our opinion, this quarterly information has been prepared on the same basis as the consolidated financial statements and includes all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the information for the periods presented. The results of operations for any quarter are not necessarily indicative of results for the full year or for any future period.  

 

Year-over-year quarterly comparisons of our results of operations may not be as meaningful as the sequential quarterly comparisons set forth below that tend to reflect the cyclical and seasonal activity of the semi market. Quarterly fluctuations in expenses are related directly to sales activity and volume and may also reflect the timing of operating expenses incurred throughout the year.
 

  

Quarters Ended

     
  

3/31/23

  

6/30/23

  

9/30/23

  

12/31/23

  

Total

 

Revenue

 $31,919  $32,558  $30,941  $27,884  $123,302 

Gross profit

  15,052   15,030   14,447   12,449   56,978 

Earnings before income tax expense

  3,394   3,365   2,723   1,566   11,048 

Income tax expense

  577   572   446   111   1,706 

Net earnings

  2,817   2,793   2,277   1,455   9,342 
                     

Net earnings per common share – basic

 $0.26  $0.25  $0.19  $0.12  $0.82 

Weighted average common shares outstanding – basic

  10,755,729   11,241,183   11,886,005   11,962,679   11,461,399 

Net earnings per common share – diluted

 $0.25  $0.24  $0.19  $0.12  $0.79 

Weighted average common shares outstanding – diluted

  11,088,664   11,696,569   12,212,317   12,122,099   11,779,912 

 

 

  

Quarters Ended

     
  

3/31/22

  

6/30/22

  

9/30/22

  

12/31/22

  

Total

 

Revenue

 $24,081  $29,571  $30,771  $32,405  $116,828 

Gross margin

  11,013   13,548   13,898   14,981   53,440 

Earnings before income tax expense

  655   2,570   3,039   3,881   10,145 

Income tax expense

  78   454   515   637   1,684 

Net earnings

  577   2,116   2,524   3,244   8,461 
                     

Net earnings per common share – basic

 $0.05  $0.20  $0.24  $0.30  $0.79 

Weighted average common shares outstanding – basic

  10,617,271   10,653,268   10,695,867   10,725,662   10,673,017 

Net earnings per common share – diluted

 $0.05  $0.20  $0.23  $0.30  $0.78 

Weighted average common shares outstanding – diluted

  10,842,592   10,814,799   10,864,540   10,928,220   10,862,538 

 

XML 44 R27.htm IDEA: XBRL DOCUMENT v3.24.1
Note 19 - Subsequent Events
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
Subsequent Events [Text Block]

(19) 

SUBSEQUENT EVENTS

 

ACQUISITION

 

On March 12, 2024 we entered into a stock purchase agreement to acquire all of the outstanding capital shares of Alfamation S.p.A., (“Alfamation”), a leading global provider of state-of-the-art test and measurement solutions for the automotive, life sciences and specialty consumer electronics markets. Alfamation was founded in 1991 and is headquartered in Milan, Italy. Alfamation also has a small sales and service subsidiary based in Suzhou City, China. Alfamation will become a part of our Electronic Test operating segment. The aggregate purchase price was approximately EUR 20,000 comprised of approximately EUR 18,000 in cash, 187,432 shares of our common stock and an additional approximately EUR 542 in cash for assets delivered at closing in excess of agreed upon thresholds. On the closing date, this equated to a total purchase price of approximately $22,358.

 

In connection with the acquisition, we have entered into a lease agreement (the “Lease Agreement”) with the former owner of Alfamation. The Lease Agreement will last for six years starting on March 12, 2024 and will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Lease Agreement, Alfamation will lease warehouse and office space totaling about 51,817 square feet. Alfamation will pay a yearly lease payment of  EUR 231 broken up into four equal payments. At the date of the signing of the lease, this yearly lease payment equated to approximately $253.

 

RESTATEMENT OF PREVIOUSLY ISSUED CONSOLIDATED FINANCIAL STATEMENTS

 

On March 27, 2024, prior to the filing of this Report, we filed a Form 10-Q/A to amend our Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2023, as filed with the SEC on November 9, 2023. The Form 10-Q/A was filed to restate our unaudited consolidated financial statements for the three and nine months ended September 30, 2023.  The restatement reflected the reversal of revenue related to the sale of discontinued material/components purchased on behalf of customers where the associated materials/components were still physically located with us and the materials/components are expected to be applied to future product orders for these customers. These transactions were all fully paid for and legal title for the material/components has transferred to the customer. However, these facts alone are not sufficient for revenue recognition under U.S. GAAP for such an arrangement. These adjustments were evaluated by management in accordance with SEC Staff Accounting Bulletin Topic 1M, "Materiality" and management determined the effects of the restatement to be material. See Note 3 to the unaudited consolidated financial statements included in the Form 10-Q/A filed on March 27, 2024 for further information regarding the restatement. All amounts in this Report have been adjusted to reflect the effect of the restatement as applicable.

 

XML 45 R28.htm IDEA: XBRL DOCUMENT v3.24.1
Schedule II - Valuation and Qualifying Accounts
12 Months Ended
Dec. 31, 2023
Notes to Financial Statements  
SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]

inTEST CORPORATION
SCHEDULE II -- VALUATION AND QUALIFYING ACCOUNTS
(in thousands)

 

  

Balance at
Beginning
of Period

  

Expense
(Recovery)(1)

  

Additions (Deductions)

  

Reserve

Amounts

Acquired

through

Business

Combinations

  

Foreign
Currency
Translation
Adjustments

  

Balance at
End of
Period

 
                         

Year Ended December 31, 2023

                        

Allowance for doubtful accounts

 $496  $-  $(19) $-  $(3) $474 

Warranty reserve

  673   351   (376)  -   -   648 
                         

Year Ended December 31, 2022

                        

Allowance for doubtful accounts

 $213  $5  $281  $-  $(3) $496 

Warranty reserve

  531   473   (315)  -   (16)  673 

 

(1)

Bad debt recoveries in the table above do not include $198 and $470 for the years ended December 31, 2023 and 2022, respectively, that relate to receivables acquired in 2021 that were valued at $0 at the time of acquisition but were subsequently recovered.

   

XML 46 R29.htm IDEA: XBRL DOCUMENT v3.24.1
Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2023
Accounting Policies [Abstract]  
Basis Of Presentation And Use Of Estimates [Policy Text Block] Basis of Presentation and Use of Estimates

The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant 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 and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.
Reclassification, Comparability Adjustment [Policy Text Block] Reclassifications

Certain prior year amounts have been reclassified to be comparable with the current year's presentation.
Subsequent Events, Policy [Policy Text Block]

Subsequent Events

 

We have made an assessment of our operations and determined that there were no material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the year ended December 31, 2023 other than those described in Note 19.

Business Combinations Policy [Policy Text Block] 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.
Restructuring And Other Charges [Policy Text Block]

Restructuring and Other Charges

 

In accordance with the guidance in Accounting Standards Codification (“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 right-of-use (“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 Topic 842 (Leases), ASC Topic 360 (Property, Plant and Equipment) and ASC Topic 350 (Intangibles - Goodwill and Other).

Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]

Cash, Cash Equivalents and Restricted Cash

 

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.

 

Restricted cash at December 31, 2022 represented amounts deposited at our bank in the Netherlands to support a bank guarantee which one of the customers of our induction heating products required as a condition of paying a deposit on a large order they placed with us in 2022. The amount of the deposit, and, accordingly, the guarantee, was EUR 1,160. At December 31, 2022 this amount was $1,142. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At December 31, 2023, this deposit had been fully utilized and the bank guarantee had therefore lapsed.

 

The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets and the consolidated statements of cash flows:

 

  

December 31,

 
  

2023

  

2022

 

Cash and cash equivalents

 $45,260  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $45,260  $14,576 

 

Receivable [Policy Text Block]

Trade Accounts Receivable and Allowance for Doubtful Accounts

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. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective January 1, 2023, we follow the guidance in ASC Topic 326 (Financial Instruments – Credit Losses) 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.

 

For the year ended December 31, 2023, there were no significant changes in the amount of the allowance for credit losses. Bad debt recoveries totaled $198 and $470 for the years ended December 31, 2023 and 2022, respectively. These amounts had all been fully written off in a prior period or pre-acquisition, in the case of recently acquired businesses, and were no longer in our accounts receivable balance. Bad debt expense to reserve for items currently in our accounts receivable balance which we do not expect to collect totaled $286 for the year ended December 31, 2022. There was no similar bad debt expense for the year ended December 31, 2023. Cash flows from accounts receivable are recorded in operating cash flows.

Fair Value Measurement, Policy [Policy Text Block]

Fair Value of Financial Instruments

 

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 maturities of the accounts. Our credit facility and our interest rate swap are discussed further below and in Note 10. Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC 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). 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 3 for further disclosures related to the fair value of our liabilities for contingent consideration.

Goodwill Intangible And Long Lived Assets [Policy Text Block]

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). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. 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 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.

Revenue [Policy Text Block]

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 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.

 

Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. 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.

 

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 automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) 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 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 also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and 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 Other Liabilities 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 Topic 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 Notes 5 and 17 for further information about our revenue from contracts with customers.

Inventory, Policy [Policy Text Block]

Inventories

 

Inventories are valued at cost on a first-in, first-out basis, not in excess of net realizable 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. We incurred excess and obsolete inventory charges of $544 and $771 for the years ended December 31, 2023 and 2022, respectively.

Property, Plant and Equipment, Policy [Policy Text Block] Property and Equipment

Machinery and equipment 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 previously discussed above under "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 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. Total depreciation expense was $1,021 and $809 for the years ended December 31, 2023 and 2022, respectively.
Lessee, Leases [Policy Text Block]

Leases

 

We account for leases in accordance with ASC Topic 842 (Leases). 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 Topic 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 Topic 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 8 for further disclosures regarding our leases.

Derivatives, Policy [Policy Text Block]

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 Notes 3 and 10. The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with 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. 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.

Contingent Liability, Repayment of State and Local Grant Funds Received, Policy [Policy Text Block]

Contingent Liability for Repayment of State and Local Grant Funds Received

 

In connection with leasing a facility in Rochester, New York, which our subsidiary, 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 $550 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 are required to create and maintain specified levels of employment in this location through various dates ending in 2024. If we fail to meet these employment targets, we may be required to repay a proportionate share of the proceeds. At December 31, 2023, $193 of the total proceeds received could still be required to be repaid if we do not meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are no longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the 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 $246 at December 31, 2023. At December 31, 2023, we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester.

Share-Based Payment Arrangement [Policy Text Block] 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. See further disclosures related to our stock-based compensation plans in Note 13.
Research and Development Expense, Policy [Policy Text Block]

Engineering and Product Development

 

Engineering and product development costs, which consist primarily of the salary and related benefits costs of our technical staff, as well as the cost of materials used in product development, are expensed as incurred.

Foreign Currency Transactions and Translations Policy [Policy Text Block] 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 year ended December 31, 2023, net foreign currency transaction gains were $9. For the year ended December 31, 2022, net foreign currency transaction losses were $109.
Income Tax, Policy [Policy Text Block] Income Taxes

The asset and liability method is used in accounting for 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. See Note 11 for additional information regarding income taxes.
Earnings Per Share, Policy [Policy Text Block]

Net Earnings Per Common Share

Net earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Net earnings per common share - diluted is computed by dividing net earnings 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 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.

 

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 per share because their effect was anti-dilutive:

 

  

Years Ended
December 31,

 
  

2023

  

2022

 
         

Weighted average common shares outstanding–basic

  11,461,399   10,673,017 

Potentially dilutive securities:

        

Unvested shares of restricted stock and employee stock options

  318,513   189,521 

Weighted average common shares and common share equivalents outstanding–diluted

  11,779,912   10,862,538 

Average number of potentially dilutive securities excluded from calculation

  140,079   478,024 

 

New Accounting Pronouncements, Policy [Policy Text Block]

Effect of Recently Adopted Amendments to Authoritative Accounting Guidance

 

In June 2016, the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In November 2019, the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after December 15, 2022. The amendments replaced the incurred loss impairment methodology under previous GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the first reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on January 1, 2023. The adoption of these amendments did not have any impact on our consolidated financial statements.

 

Effect of Recently Issued Amendments to Authoritative Accounting Guidance

 

In November 2023, the FASB issued amendments to the guidance for disclosures about reportable segments which require disclosures of significant expenses by segment and interim disclosure of items that were previously required on an annual basis. The amendments are to be applied on a retrospective basis and are effective for fiscal years beginning after December 15, 2023 and interim periods within fiscal years beginning after December 15, 2024. We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.

 

In December 2023, the FASB issued amendments to the guidance for disclosures about income tax which provide for additional disclosures primarily related to the income tax rate reconciliations and income taxes paid. 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 are evaluating the impact of the amendments on disclosures in our consolidated financial statements.

XML 47 R30.htm IDEA: XBRL DOCUMENT v3.24.1
Note 2 - Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Cash, Cash Equivalents and Restricted Cash [Table Text Block]
  

December 31,

 
  

2023

  

2022

 

Cash and cash equivalents

 $45,260  $13,434 

Restricted cash

  -   1,142 
         

Total cash, cash equivalents and restricted cash

 $45,260  $14,576 
Schedule of Weighted Average Number of Shares [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 
         

Weighted average common shares outstanding–basic

  11,461,399   10,673,017 

Potentially dilutive securities:

        

Unvested shares of restricted stock and employee stock options

  318,513   189,521 

Weighted average common shares and common share equivalents outstanding–diluted

  11,779,912   10,862,538 

Average number of potentially dilutive securities excluded from calculation

  140,079   478,024 
XML 48 R31.htm IDEA: XBRL DOCUMENT v3.24.1
Note 3 - Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Fair Value, Liabilities Measured on Recurring Basis [Table Text Block]
  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

At December 31, 2023

                

Contingent consideration liability – Acculogic

 $(1,093) $-  $-  $(1,093)

Interest rate swap

 $285  $-  $285  $- 
  

Amounts at

  

Fair Value Measurement Using

 
  

Fair Value

  

Level 1

  

Level 2

  

Level 3

 

At December 31, 2022

                

Contingent consideration liability – Acculogic

 $(1,363) $-  $-  $(1,363)

Interest rate swap

 $528  $-  $528  $- 
Fair Value, Liabilities Measured on Recurring Basis, Unobservable Input Reconciliation [Table Text Block]

Balance - January 1, 2022

 $1,109 

Payout of contingent consideration related to the acquisition of Z-Sciences

  (179)

Adjustment to contingent consideration liability in connection with the acquisition of Acculogic

  500 

Impact of foreign currency translation adjustments

  (67)

Balance - December 31, 2022

  1,363 

Adjustment to contingent consideration liability in connection with the acquisition of Acculogic

  (294)

Impact of foreign currency translation adjustments

  24 

Balance - December 31, 2023

 $1,093 
XML 49 R32.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Changes in Goodwill [Table Text Block]

Balance - January 1, 2022

 $21,448 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  451 

Impact of foreign currency translation adjustments

  (294)

Balance - December 31, 2022

  21,605 

Impact of foreign currency translation adjustments

  123 

Balance - December 31, 2023

 $21,728 
Schedule Of Intangible Assets [Table Text Block]
  

December 31,

 
  

2023

  

2022

 

Electronic Test

 $3,436  $3,369 

Environmental Technologies

  1,817   1,817 

Process Technologies

  16,475   16,419 

Total Goodwill

 $21,728  $21,605 
  

December 31, 2023

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,407  $9,687  $6,720 

Technology

  2,895   1,417   1,478 

Patents

  590   590   - 

Backlog

  499   499   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,801   12,603   8,198 

Indefinite-lived intangible assets:

            

Trademarks

  8,398   -   8,398 

Total intangible assets

 $29,199  $12,603  $16,596 
  

December 31, 2022

 
  

Gross
Carrying
Amount

  

Accumulated

Amortization

  

Net
Carrying
Amount

 

Finite-lived intangible assets:

            

Customer relationships

 $16,313  $7,990  $8,323 

Technology

  2,855   988   1,867 

Patents

  590   590   - 

Backlog

  492   492   - 

Software

  270   270   - 

Trade name

  140   140   - 

Total finite-lived intangible assets

  20,660   10,470   10,190 

Indefinite-lived intangible assets:

            

Trademarks

  8,369   -   8,369 

Total intangible assets

 $29,029  $10,470  $18,559 
Schedule of Indefinite-Lived Intangible Assets [Table Text Block]

Balance - January 1, 2022

 $8,428 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  20 

Impact of foreign currency translation adjustments

  (79)

Balance - December 31, 2022

  8,369 

Impact of foreign currency translation adjustments

  29 

Balance - December 31, 2023

 $8,398 
Schedule of Finite-Lived Intangible Assets [Table Text Block]

Balance - January 1, 2022

 $13,206 

Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)

  29 

Impact of foreign currency translation adjustments

  (351)

Amortization

  (2,694)

Balance - December 31, 2022

  10,190 

Impact of foreign currency translation adjustments

  102 

Amortization

  (2,094)

Balance - December 31, 2023

 $8,198 
Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

2024

 $1,973 

2025

 $1,774 

2026

 $1,163 

2027

 $667 

2028

 $534 
XML 50 R33.htm IDEA: XBRL DOCUMENT v3.24.1
Note 5 - Revenue From Contracts With Customers (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Disaggregation of Revenue [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue by customer type:

        

End user

 $85,397  $84,468 

OEM/Integrator/Distributor

  37,905   32,360 
  $123,302  $116,828 

Revenue by product type:

        

Thermal test

 $21,344  $22,246 

Thermal process

  44,914   38,574 

Semiconductor test

  30,235   28,529 

Video imaging

  9,086   9,499 

Flying probe and in-circuit testers

  6,981   7,414 

Service/other

  10,742   10,566 
  $123,302  $116,828 

Revenue by market:

        

Semi

 $65,735  $68,422 

Industrial

  14,310   10,038 

Automotive (including Electric Vehicles)

  9,895   10,776 

Life Sciences

  4,856   4,589 

Defense/aerospace

  12,537   7,006 

Security

  3,688   3,241 

Other

  12,281   12,756 
  $123,302  $116,828 
XML 51 R34.htm IDEA: XBRL DOCUMENT v3.24.1
Note 7 - Inventories (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Inventory, Current [Table Text Block]
  

2023

  

2022

 

Raw materials

 $15,948  $16,888 

Work in process

  1,563   2,432 

Inventory consigned to others

  98   59 

Finished goods

  2,480   3,186 

Total inventories

 $20,089  $22,565 
XML 52 R35.htm IDEA: XBRL DOCUMENT v3.24.1
Note 8 - Leases (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Lease, Cost [Table Text Block]
  

Years Ended December 31,

 
  

2023

  

2022

 
         

Operating lease cost

 $1,590  $1,340 

Short-term lease cost

 $13  $81 

Range of remaining lease terms (in years)

 0.3to7.3 

Weighted average remaining lease term (in years)

  4.3  

Weighted average discount rate

  4.6%  
Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]

2024

 $2,078 

2025

  1,232 

2026

  931 

2027

  761 

2028

  361 

Thereafter

  584 

Total lease payments

 $5,947 

Less imputed interest

  (525)

Total

 $5,422 
Supplemental Cash Flow Infomation, Lessee [Table Text Block]
  

Operating

Lease

Liabilities

  

ROU Assets

 

Addition to facility leases – Environmental Technologies

 $90  $90 

Addition to automobile leases – Process Technologies

 $30  $30 

Addition to automobile leases – Process Technologies

 $41  $41 

Addition to facility leases – inTEST SE Asia

 $455  $455 

Extension of facility lease – Process Technologies

 $136  $136 
  

Operating

Lease

Liabilities

  

ROU Assets

 

Extension of facility lease – Singapore

 $51  $51 

Addition to automobile leases – Videology

 $42  $42 

Addition to facility leases – Acculogic

 $942  $942 

Addition to facility leases – Acculogic

 $127  $127 
XML 53 R36.htm IDEA: XBRL DOCUMENT v3.24.1
Note 9 - Other Current Liabilities (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Other Current Liabilities [Table Text Block]
  

2023

  

2022

 

Accrued warranty

 $648  $673 

Accrued taxes

  57   83 

Current portion of deferred grant proceeds

  55   38 

Accrued interest

  52   61 

Current portion of contingent consideration

  -   324 

Other

  669   385 

Total other current liabilities

 $1,481  $1,564 
XML 54 R37.htm IDEA: XBRL DOCUMENT v3.24.1
Note 10 - Debt (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule Of Outstanding Letters Of Credit [Table Text Block]
   

L/C

 

Lease

 

Letters of Credit
Amount Outstanding

 

Facility

Original L/C
Issue Date

 

Expiration
Date

 

Expiration
Date

 

Dec. 31
2023

  

Dec. 31
2022

 

Mt. Laurel, NJ

3/29/2010

 

4/30/2024

 

4/30/2031

 $50  $50 

Mansfield, MA

10/27/2010

 

12/31/2024

 

12/31/2024

  50   50 
       $100  $100 
Schedule of Maturities of Long-Term Debt [Table Text Block]

2024

 $4,100 

2025

  4,100 

2026

  3,842 
  $12,042 
XML 55 R38.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Domestic

 $9,600  $9,575 

Foreign

  1,448   570 

Total

 $11,048  $10,145 
Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Current

        

Domestic – Federal

 $2,139  $2,892 

Domestic – state

  202   263 

Foreign

  522   267 

Total

 $2,863  $3,422 

Deferred

        

Domestic – Federal

 $(1,052) $(1,344)

Domestic – state

  31   (190)

Foreign

  (136)  (204)

Total

  (1,157)  (1,738)

Income tax expense

 $1,706  $1,684 
Schedule of Deferred Tax Assets and Liabilities [Table Text Block]
  

December 31,

 
  

2023

  

2022

 

Deferred tax assets:

        

Capitalized research and development costs

 $2,320  $1,260 

Operating lease liabilities

  859   1,125 

Accrued vacation pay and stock-based compensation

  433   465 
Inventories  395   602 
Intangible assets  369   140 

Net operating loss (state and foreign)

  245   285 
Acquisition costs  44   46 

Allowance for doubtful accounts

  44   43 

Accrued warranty

  26   54 

Tax credit carryforwards

  -   89 

Other

  62   - 

Total

  4,797   4,109 

Valuation allowance

  (245)  (227)

Deferred tax assets

  4,552   3,882 

Deferred tax liabilities:

        

Intangible assets

  (1,949)  (2,101)

Right-of-use assets

  (762)  (996)

Depreciation of property and equipment

  (404)  (385)

Other

  -   (120)

Deferred tax liabilities

  (3,115)  (3,602)

Net deferred tax assets

 $1,437  $280 
Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Expected income tax expense at U.S. statutory rate

 $2,320  $2,131 

Increase (decrease) in tax from:

        

Dividend from foreign subsidiaries

  184   127 

NOL carryforwards utilized

  39   (80)

Stock compensation

  (329)  77 

Global intangible low taxed income

  87   66 

Nondeductible expenses

  21   11 

Current year tax credits (foreign and research)

  (367)  (465)

Domestic tax benefit, net of Federal benefit

  (167)  87 

Changes in valuation allowance

  18   163 

Foreign income tax rate differences

  109   147 

Section 250 foreign derived intangible income deduction

  (272)  (563)

Other

  63   (17)

Income tax expense

 $1,706  $1,684 
XML 56 R39.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Cost of revenues

 $104  $62 

Selling expense

  41   32 

Engineering and product development expense

  19   51 

General and administrative expense

  1,883   1,642 
  $2,047  $1,787 
Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]
  

2023

  

2022

 

Risk-free interest rate

  3.93%  2.05%

Dividend yield

  0.00%  0.00%

Expected common stock market price volatility factor

  .57   .55 

Weighted average expected life of stock options (years)

  6.25   6.25 
Share-Based Payment Arrangement, Option, Activity [Table Text Block]
  

Number
of Shares

  

Weighted
Average
Exercise Price

 

Options outstanding, January 1, 2022

  408,869  $9.07 

Granted

  202,540   8.45 

Exercised

  (8,060)  4.74 

Canceled

  (22,930)  9.10 

Options outstanding, December 31, 2022 (167,886 exercisable)

  580,419   8.91 

Granted

  93,860   16.25 

Exercised

  (124,550)  7.85 

Canceled

  (44,723)  9.77 

Options outstanding, December 31, 2023 (171,735 exercisable)

  505,006   10.46 
Nonvested Restricted Stock Shares Activity [Table Text Block]
  

Number
of Shares

  

Weighted
Average
Grant Date
Fair Value

 

Unvested shares outstanding, January 1, 2022

  262,533  $7.16 

Granted

  123,533   9.21 

Vested

  (91,672)  8.04 

Forfeited

  (5,944)  9.16 

Unvested shares outstanding, December 31, 2022

  288,450   7.80 

Granted

  97,461   16.43 

Vested

  (178,636)  8.21 

Forfeited

  (17,491)  10.08 

Unvested shares outstanding, December 31, 2023

  189,784   11.51 
XML 57 R40.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Schedule of Segment Reporting Information, by Segment [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue:

        

Electronic Test

 $41,016  $40,219 

Environmental Technologies

  30,801   30,172 

Process Technologies

  51,485   46,437 

Total Revenue

 $123,302  $116,828 
         

Division operating income:

        

Electronic Test

 $10,189  $9,931 

Environmental Technologies

  3,073   3,817 

Process Technologies

  9,544   8,230 

Total division operating income

  22,806   21,978 
         

Corporate expenses

  (10,272)  (8,563)

Acquired intangible amortization

  (2,095)  (2,694)

Interest expense

  (679)  (635)

Other income

  1,288   59 

Earnings before income tax expense

 $11,048  $10,145 
Revenue from External Customers by Geographic Areas [Table Text Block]
  

Years Ended
December 31,

 
  

2023

  

2022

 

Revenue:

        

U.S.

 $45,222  $49,096 

Foreign

  78,080   67,732 
  $123,302  $116,828 
Long-Lived Assets by Geographic Areas [Table Text Block]
  

December 31,

 
  

2023

  

2022

 

Property and equipment:

        

U.S.

 $2,502  $2,658 

Foreign

  688   474 
  $3,190  $3,132 
Asset [Member]  
Notes Tables  
Schedule of Segment Reporting Information, by Segment [Table Text Block]
  

December 31,

 
  

2023

  

2022

 

Identifiable assets:

        

Electronic Test

 $32,505  $31,143 

Environmental Technologies

  16,772   18,040 

Process Technologies

  56,842   56,866 

Corporate

  28,710   4,017 
  $134,829  $110,066 
         

Capital expenditures:

        

Electronic Test

 $599  $80 

Environmental Technologies

  495   368 

Process Technologies

  170   543 

Corporate

  27   374 
  $1,291  $1,365 
XML 58 R41.htm IDEA: XBRL DOCUMENT v3.24.1
Note 18 - Quarterly Consolidated Financial Data (Unaudited) (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Quarterly Financial Information [Table Text Block]
  

Quarters Ended

     
  

3/31/23

  

6/30/23

  

9/30/23

  

12/31/23

  

Total

 

Revenue

 $31,919  $32,558  $30,941  $27,884  $123,302 

Gross profit

  15,052   15,030   14,447   12,449   56,978 

Earnings before income tax expense

  3,394   3,365   2,723   1,566   11,048 

Income tax expense

  577   572   446   111   1,706 

Net earnings

  2,817   2,793   2,277   1,455   9,342 
                     

Net earnings per common share – basic

 $0.26  $0.25  $0.19  $0.12  $0.82 

Weighted average common shares outstanding – basic

  10,755,729   11,241,183   11,886,005   11,962,679   11,461,399 

Net earnings per common share – diluted

 $0.25  $0.24  $0.19  $0.12  $0.79 

Weighted average common shares outstanding – diluted

  11,088,664   11,696,569   12,212,317   12,122,099   11,779,912 
  

Quarters Ended

     
  

3/31/22

  

6/30/22

  

9/30/22

  

12/31/22

  

Total

 

Revenue

 $24,081  $29,571  $30,771  $32,405  $116,828 

Gross margin

  11,013   13,548   13,898   14,981   53,440 

Earnings before income tax expense

  655   2,570   3,039   3,881   10,145 

Income tax expense

  78   454   515   637   1,684 

Net earnings

  577   2,116   2,524   3,244   8,461 
                     

Net earnings per common share – basic

 $0.05  $0.20  $0.24  $0.30  $0.79 

Weighted average common shares outstanding – basic

  10,617,271   10,653,268   10,695,867   10,725,662   10,673,017 

Net earnings per common share – diluted

 $0.05  $0.20  $0.23  $0.30  $0.78 

Weighted average common shares outstanding – diluted

  10,842,592   10,814,799   10,864,540   10,928,220   10,862,538 
XML 59 R42.htm IDEA: XBRL DOCUMENT v3.24.1
Schedule II - Valuation and Qualifying Accounts (Tables)
12 Months Ended
Dec. 31, 2023
Notes Tables  
Valuation Allowances and Reserves [Table Text Block]
  

Balance at
Beginning
of Period

  

Expense
(Recovery)(1)

  

Additions (Deductions)

  

Reserve

Amounts

Acquired

through

Business

Combinations

  

Foreign
Currency
Translation
Adjustments

  

Balance at
End of
Period

 
                         

Year Ended December 31, 2023

                        

Allowance for doubtful accounts

 $496  $-  $(19) $-  $(3) $474 

Warranty reserve

  673   351   (376)  -   -   648 
                         

Year Ended December 31, 2022

                        

Allowance for doubtful accounts

 $213  $5  $281  $-  $(3) $496 

Warranty reserve

  531   473   (315)  -   (16)  673 
XML 60 R43.htm IDEA: XBRL DOCUMENT v3.24.1
Note 1 - Nature of Operations (Details Textual)
12 Months Ended
May 11, 2023
USD ($)
shares
Dec. 31, 2023
USD ($)
ft²
Number of Operating Segments   3
Stock Issued During Period, Value, New Issues   $ 19,244,000
At-the-Market Issuance Sales Agreement [Member]    
Stock Issued During Period, Shares, New Issues (in shares) | shares 921,797  
Aggregate Offering Price of Stock $ 20,000  
Stock Issued During Period, Value, New Issues $ 19,244  
Commission Fee, Percentage of Gross Proceeds 3.00%  
Facility in Penang, Malaysia [Member]    
Area of Real Estate Property (Square Foot) | ft²   25,000
XML 61 R44.htm IDEA: XBRL DOCUMENT v3.24.1
Note 2 - Summary of Significant Accounting Policies (Details Textual)
€ in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Dec. 31, 2022
EUR (€)
May 31, 2018
USD ($)
Restricted Cash, Total $ 0 $ 1,142    
Accounts Receivable, Allowance for Credit Loss, Recovery 198 470    
Accounts Receivable, Credit Loss Expense (Reversal) $ 0 286    
Number of Reporting Units 3      
Inventory Write-down $ 544 771    
Depreciation, Total 1,021 809    
Deferred Grant Proceeds 246      
Foreign Currency Transaction Gain (Loss), before Tax, Total 9 (109)    
City of Rochester and State of New York [Member]        
Contingent Liability, Repayment of State and Local Grant Funds Received       $ 550
Covenant, Future Amount Receivable $ 193      
Minimum [Member]        
Property, Plant and Equipment, Useful Life (Year) 1 year      
Maximum [Member]        
Property, Plant and Equipment, Useful Life (Year) 10 years      
Bank Guarantee on Customer Order Deposit [Member]        
Restricted Cash, Total   $ 1,142 € 1,160  
XML 62 R45.htm IDEA: XBRL DOCUMENT v3.24.1
Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Cash and cash equivalents $ 45,260 $ 13,434
Restricted cash 0 1,142
Total cash, cash equivalents and restricted cash $ 45,260 $ 14,576
XML 63 R46.htm IDEA: XBRL DOCUMENT v3.24.1
Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) - shares
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Weighted average common shares outstanding–basic (in shares) 11,962,679 11,886,005 11,241,183 10,755,729 10,725,662 10,695,867 10,653,268 10,617,271 11,461,399 10,673,017
Unvested shares of restricted stock and employee stock options (in shares)                 318,513 189,521
Weighted average common shares and common share equivalents outstanding–diluted (in shares) 12,122,099 12,212,317 11,696,569 11,088,664 10,928,220 10,864,540 10,814,799 10,842,592 11,779,912 10,862,538
Average number of potentially dilutive securities excluded from calculation (in shares)                 140,079 478,024
XML 64 R47.htm IDEA: XBRL DOCUMENT v3.24.1
Note 3 - Fair Value Measurements (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Business Combination, Contingent Consideration, Liability, Current $ 0 $ 324
Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability (294) 0
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | General and Administrative Expense [Member]    
Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability $ 294  
Fair Value, Recurring [Member] | Fair Value, Inputs, Level 3 [Member] | Other Current Liabilities [Member]    
Business Combination, Contingent Consideration, Liability, Current   $ 324
XML 65 R48.htm IDEA: XBRL DOCUMENT v3.24.1
Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Interest Rate Swap [Member]    
Interest rate swap $ 285 $ 528
Interest rate swap 285 528
Fair Value, Inputs, Level 1 [Member] | Interest Rate Swap [Member]    
Interest rate swap   0
Interest rate swap   0
Fair Value, Inputs, Level 2 [Member] | Interest Rate Swap [Member]    
Interest rate swap 285 528
Interest rate swap 285 528
Fair Value, Inputs, Level 3 [Member] | Interest Rate Swap [Member]    
Interest rate swap   0
Interest rate swap   0
Acculogic [Member]    
Contingent consideration liability (1,093) (1,363)
Acculogic [Member] | Fair Value, Inputs, Level 1 [Member]    
Contingent consideration liability   0
Acculogic [Member] | Fair Value, Inputs, Level 2 [Member]    
Contingent consideration liability   0
Acculogic [Member] | Fair Value, Inputs, Level 3 [Member]    
Contingent consideration liability $ (1,093) $ (1,363)
XML 66 R49.htm IDEA: XBRL DOCUMENT v3.24.1
Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) - Contingent Consideration Liabilities [Member] - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Balance $ 1,363 $ 1,109
Adjustment to contingent consideration liability in connection with the acquisition of Acculogic 294  
Impact of foreign currency translation adjustments (24) 67
Adjustment to contingent consideration liability in connection with the acquisition of Acculogic (294)  
Balance $ 1,093 1,363
Z-Sciences [Member]    
Payout of contingent consideration related to the acquisition of Z-Sciences   (179)
Acculogic [Member]    
Adjustment to contingent consideration liability in connection with the acquisition of Acculogic   500
Adjustment to contingent consideration liability in connection with the acquisition of Acculogic   $ (500)
XML 67 R50.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Goodwill and Intangible Asset Impairment, Total $ 0 $ 0
Minimum [Member]    
Discounted Cash Flows, Discount Rate 14.50% 16.50%
Maximum [Member]    
Discounted Cash Flows, Discount Rate 16.00% 18.00%
XML 68 R51.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Balance $ 21,605 $ 21,448
Goodwill, Purchase Accounting Adjustments   451
Impact of foreign currency translation adjustments 123 (294)
Balance $ 21,728 $ 21,605
XML 69 R52.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Goodwill $ 21,728 $ 21,605 $ 21,448
Finite-lived, Gross Carrying Amount 20,801 20,660  
Finite-lived, Accumulated Amortization 12,603 10,470  
Net Carrying Amount, finite-lived 8,198 10,190 13,206
Indefinite-lived, Gross Carrying Amount 8,398 8,369 8,428
Net Carrying Amount, indefinite-lived 8,398 8,369 $ 8,428
Intangible Assets, Gross Carrying Amount 29,199 29,029  
Net Carrying Amount 16,596 18,559  
Trademarks [Member]      
Indefinite-lived, Gross Carrying Amount 8,398 8,369  
Net Carrying Amount, indefinite-lived 8,398 8,369  
Customer Relationships [Member]      
Finite-lived, Gross Carrying Amount 16,407 16,313  
Finite-lived, Accumulated Amortization 9,687 7,990  
Net Carrying Amount, finite-lived 6,720 8,323  
Patented Technology [Member]      
Finite-lived, Gross Carrying Amount 2,895 2,855  
Finite-lived, Accumulated Amortization 1,417 988  
Net Carrying Amount, finite-lived 1,478 1,867  
Patents [Member]      
Finite-lived, Gross Carrying Amount 590 590  
Finite-lived, Accumulated Amortization 590 590  
Net Carrying Amount, finite-lived   0  
Customer Backlog [Member]      
Finite-lived, Gross Carrying Amount 499 492  
Finite-lived, Accumulated Amortization 499 492  
Net Carrying Amount, finite-lived   0  
Computer Software, Intangible Asset [Member]      
Finite-lived, Gross Carrying Amount 270 270  
Finite-lived, Accumulated Amortization 270 270  
Net Carrying Amount, finite-lived   0  
Trade Names [Member]      
Finite-lived, Gross Carrying Amount 140 140  
Finite-lived, Accumulated Amortization 140 140  
Net Carrying Amount, finite-lived   0  
Electronic Test [Member]      
Goodwill 3,436 3,369  
Environmental Technologies [Member]      
Goodwill 1,817 1,817  
Process Technologies [Member]      
Goodwill $ 16,475 $ 16,419  
XML 70 R53.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Balance $ 8,369 $ 8,428
Indefinite-Lived Intangible Assets, Purchase Accounting Adjustments   20
Impact of foreign currency translation adjustments 29 (79)
Balance $ 8,398 $ 8,369
XML 71 R54.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Balance $ 10,190 $ 13,206
Finite-Lived Intangible Assets, Purchase Accounting Adjustments   29
Impact of foreign currency translation adjustments 102 (351)
Amortization (2,094) (2,694)
Balance $ 8,198 $ 10,190
XML 72 R55.htm IDEA: XBRL DOCUMENT v3.24.1
Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
2023 $ 1,973
2024 1,774
2025 1,163
2026 667
2027 $ 534
XML 73 R56.htm IDEA: XBRL DOCUMENT v3.24.1
Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Revenue $ 27,884 $ 30,941 $ 32,558 $ 31,919 $ 32,405 $ 30,771 $ 29,571 $ 24,081 $ 123,302 $ 116,828
Semiconductor Market [Member]                    
Revenue                 65,735 68,422
Industrial Market [Member]                    
Revenue                 14,310 10,038
Automotive [Member]                    
Revenue                 9,895 10,776
Life Sciences [Member]                    
Revenue                 4,856 4,589
Defense/ Aerospace [Member]                    
Revenue                 12,537 7,006
Security [Member]                    
Revenue                 3,688 3,241
Other Multi Markets [Member]                    
Revenue                 12,281 12,756
Thermal Testing Products [Member]                    
Revenue                 21,344 22,246
Thermal Process [Member]                    
Revenue                 44,914 38,574
Semiconductor Production Test Products [Member]                    
Revenue                 30,235 28,529
Video Imaging [Member]                    
Revenue                 9,086 9,499
Flying Probe and In-circuit Testers [Member]                    
Revenue                 6,981 7,414
Service and Other Products [Member]                    
Revenue                 10,742 10,566
End User [Member]                    
Revenue                 85,397 84,468
OEM, Integrators and Distributor [Member]                    
Revenue                 $ 37,905 $ 32,360
XML 74 R57.htm IDEA: XBRL DOCUMENT v3.24.1
Note 6 - Major Customers (Details Textual)
12 Months Ended
Dec. 31, 2023
Number of Major Customers 1
Customer Concentration Risk [Member] | Revenue Benchmark [Member] | Texas Instruments Incorporated [Member]  
Concentration Risk, Percentage 13.00%
XML 75 R58.htm IDEA: XBRL DOCUMENT v3.24.1
Note 7 - Inventories - Inventories (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Raw materials $ 15,948 $ 16,888
Work in process 1,563 2,432
Inventory consigned to others 98 59
Finished goods 2,480 3,186
Total inventories $ 20,089 $ 22,565
XML 76 R59.htm IDEA: XBRL DOCUMENT v3.24.1
Note 8 - Leases (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Mar. 31, 2022
Operating Lease, Right-of-Use Asset, Amortization Expense $ 1,567 $ 1,241        
Operating Lease, Right-of-Use Asset 4,987 5,770        
Operating Lease, Liability 5,422          
Environmental Technologies in Germany [Member]            
Lessee, Operating Lease, Term of Contract (Month)       25 months    
Operating Lease, Right-of-Use Asset 90     $ 90    
Operating Lease, Liability $ 90     $ 90    
Process Technologies in Europe [Member] | Automobile Lease, One [Member]            
Lessee, Operating Lease, Term of Contract (Month)       36 years    
Process Technologies in Europe [Member] | Automobile Leases [Member]            
Operating Lease, Right-of-Use Asset     $ 41 $ 30    
Operating Lease, Liability     $ 41 $ 30    
Process Technologies in Europe [Member] | Automobile Lease, Two [Member]            
Lessee, Operating Lease, Term of Contract (Month)     48 years      
Southeast Asia Operation [Member]            
Lessee, Operating Lease, Term of Contract (Month) 36 months          
Operating Lease, Right-of-Use Asset $ 455          
Operating Lease, Liability $ 455          
Process Technologies in the Netherlands [Member]            
Lessee, Operating Lease, Term of Contract (Month) 36 years          
Operating Lease, Right-of-Use Asset $ 136          
Operating Lease, Liability $ 136          
Lease Facility in Singapore [Member]            
Operating Lease, Right-of-Use Asset   51       $ 51
Operating Lease, Liability   51       $ 51
Automobile Lease for Videology [Member]            
Lessee, Operating Lease, Term of Contract (Month)         48 months  
Operating Lease, Right-of-Use Asset   42     $ 42  
Operating Lease, Liability   $ 42     $ 42  
Facility for Acculogic Operation in Canada [Member]            
Lessee, Operating Lease, Term of Contract (Month)   62 months        
Operating Lease, Right-of-Use Asset   $ 942        
Operating Lease, Liability   $ 942        
Facility for Acculogic Operation in California [Member]            
Lessee, Operating Lease, Term of Contract (Month)   37 months        
Operating Lease, Right-of-Use Asset   $ 127        
Operating Lease, Liability   $ 127        
XML 77 R60.htm IDEA: XBRL DOCUMENT v3.24.1
Note 8 - Leases - Lease Costs (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Operating lease cost $ 1,590 $ 1,340
Short-term lease cost $ 13 $ 81
Weighted average remaining lease term (in years) (Year) 4 years 3 months 18 days  
Weighted average discount rate 4.60%  
Minimum [Member]    
Range of remaining lease terms (in years) (Year) 3 months 18 days  
Maximum [Member]    
Range of remaining lease terms (in years) (Year) 7 years 3 months 18 days  
XML 78 R61.htm IDEA: XBRL DOCUMENT v3.24.1
Note 8 - Leases - Maturities of Lease Liabilities (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
2024 $ 2,078
2025 1,232
2026 931
2027 761
2028 361
Thereafter 584
Total lease payments 5,947
Less imputed interest (525)
Total $ 5,422
XML 79 R62.htm IDEA: XBRL DOCUMENT v3.24.1
Note 8 - Leases - Lease Modifications (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Mar. 31, 2022
Total $ 5,422        
Operating Lease, Right-of-Use Asset 4,987   $ 5,770    
Environmental Technologies in Germany [Member]          
Total 90 $ 90      
Operating Lease, Right-of-Use Asset 90 $ 90      
Lease Facility in Singapore [Member]          
Total     51   $ 51
Operating Lease, Right-of-Use Asset     51   $ 51
Automobile Lease, One [Member]          
Total 30        
Operating Lease, Right-of-Use Asset 30        
Automobile Lease for Videology [Member]          
Total     42 $ 42  
Operating Lease, Right-of-Use Asset     42 $ 42  
Automobile Lease, Two [Member]          
Total 41        
Operating Lease, Right-of-Use Asset 41        
Facility for Acculogic Operation in Canada [Member]          
Total     942    
Operating Lease, Right-of-Use Asset     942    
Southeast Asia Operation [Member]          
Total 455        
Operating Lease, Right-of-Use Asset 455        
Facility for Acculogic Operation in California [Member]          
Total     127    
Operating Lease, Right-of-Use Asset     $ 127    
Process Technologies in the Netherlands [Member]          
Total 136        
Operating Lease, Right-of-Use Asset $ 136        
XML 80 R63.htm IDEA: XBRL DOCUMENT v3.24.1
Note 9 - Other Current Liabilities - Other Current Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Accrued warranty $ 648 $ 673
Accrued taxes 57 83
Current portion of deferred grant proceeds 55 38
Accrued interest 52 61
Current portion of contingent consideration 0 324
Other 669 385
Total other current liabilities $ 1,481 $ 1,564
XML 81 R64.htm IDEA: XBRL DOCUMENT v3.24.1
Note 10 - Debt (Details Textual)
$ in Thousands
Dec. 29, 2021
USD ($)
Oct. 28, 2021
USD ($)
Oct. 15, 2021
USD ($)
Dec. 31, 2023
USD ($)
Sep. 20, 2022
USD ($)
Debt Instrument, Covenant, Ratio of Consolidated Funded Debt to Consolidated EBITDA         3
Debt Instrument, Covenant, Fixed Charge Coverage Ratio         1.25
October 2021 Agreement [Member] | M&T Bank [Member]          
Debt Instrument, Term (Year)     5 years    
Debt Instrument, Interest Rate in Event of Default     2.00%    
October 2021 Agreement [Member] | M&T Bank [Member] | Revolving Credit Facility [Member]          
Line of Credit Facility, Maximum Borrowing Capacity     $ 10,000    
October 2021 Agreement [Member] | M&T Bank [Member] | Term Note [Member]          
Debt Instrument, Face Amount     $ 25,000    
Debt Instrument, Draw Period (Year)     2 years    
Proceeds from Issuance of Long-term Debt, Total $ 8,500 $ 12,000      
Debt Instrument, Interest Rate, Effective Percentage   3.20%   7.40%  
Amended Loan Agreement [Member] | M&T Bank [Member]          
Long-Term Line of Credit, Total       $ 0  
Amended Loan Agreement [Member] | M&T Bank [Member] | Term Note [Member]          
Debt Instrument, Face Amount         $ 50,500
Debt Instrument, Unused Borrowing Capacity, Amount       $ 30,000  
XML 82 R65.htm IDEA: XBRL DOCUMENT v3.24.1
Note 10 - Debt - Outstanding Letters of Credit (Details) - Letter of Credit [Member] - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Letters of Credit Amount Outstanding $ 100 $ 100
Mt Laurel [Member]    
Line of Credit, Issue Date Mar. 29, 2010  
Line of Credit, Expiration Date Apr. 30, 2024  
Lease Expiration Date Apr. 30, 2031  
Letters of Credit Amount Outstanding $ 50 50
Mansfield [Member]    
Line of Credit, Issue Date Oct. 27, 2010  
Line of Credit, Expiration Date Dec. 31, 2024  
Lease Expiration Date Dec. 31, 2024  
Letters of Credit Amount Outstanding $ 50 $ 50
XML 83 R66.htm IDEA: XBRL DOCUMENT v3.24.1
Note 10 - Debt - Future Maturities of Long-term Debt (Details)
$ in Thousands
Dec. 31, 2023
USD ($)
2024 $ 4,100
2025 4,100
2026 3,842
Long-Term Debt $ 12,042
XML 84 R67.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount $ 18 $ 163
Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent 21.00% 21.00%
XML 85 R68.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes - Earnings Before Income Taxes (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Domestic                 $ 9,600 $ 9,575
Foreign                 1,448 570
Earnings before income tax expense $ 1,566 $ 2,723 $ 3,365 $ 3,394 $ 3,881 $ 3,039 $ 2,570 $ 655 $ 11,048 $ 10,145
XML 86 R69.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Domestic – Federal                 $ 2,139 $ 2,892
Domestic – state                 202 263
Foreign                 522 267
Total                 2,863 3,422
Domestic – Federal                 (1,052) (1,344)
Domestic – state                 31 (190)
Foreign                 (136) (204)
Total                 (1,157) (1,738)
Income tax expense $ 111 $ 446 $ 572 $ 577 $ 637 $ 515 $ 454 $ 78 $ 1,706 $ 1,684
XML 87 R70.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Deferred tax assets:    
Capitalized research and development costs $ 2,320 $ 1,260
Operating lease liabilities 859 1,125
Accrued vacation pay and stock-based compensation 433 465
Inventories 395 602
Intangible assets 369 140
Net operating loss (state and foreign) 245 285
Acquisition costs 44 46
Allowance for doubtful accounts 44 43
Accrued warranty 26 54
Tax credit carryforwards 0 89
Other 62 0
Total 4,797 4,109
Valuation allowance (245) (227)
Deferred tax assets 4,552 3,882
Deferred tax liabilities:    
Intangible assets (1,949) (2,101)
Right-of-use assets (762) (996)
Depreciation of property and equipment (404) (385)
Other 0 (120)
Deferred tax liabilities (3,115) (3,602)
Net deferred tax assets $ 1,437 $ 280
XML 88 R71.htm IDEA: XBRL DOCUMENT v3.24.1
Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Expected income tax expense at U.S. statutory rate                 $ 2,320 $ 2,131
Dividend from foreign subsidiaries                 184 127
NOL carryforwards utilized                 39 (80)
Stock compensation                 (329) 77
Global intangible low taxed income                 87 66
Nondeductible expenses                 21 11
Current year tax credits (foreign and research)                 (367) (465)
Domestic tax benefit, net of Federal benefit                 (167) 87
Changes in valuation allowance                 18 163
Foreign income tax rate differences                 109 147
Section 250 foreign derived intangible income deduction                 (272) (563)
Other                 63 (17)
Income tax expense $ 111 $ 446 $ 572 $ 577 $ 637 $ 515 $ 454 $ 78 $ 1,706 $ 1,684
XML 89 R72.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan (Details Textual) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 12 Months Ended
Aug. 24, 2023
May 08, 2023
Mar. 08, 2023
Dec. 31, 2022
Mar. 09, 2022
Mar. 08, 2022
Oct. 01, 2021
Jun. 14, 2021
Mar. 10, 2021
Aug. 24, 2020
Aug. 31, 2020
Dec. 31, 2023
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Jun. 21, 2023
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)                         2 years      
Share-Based Payment Arrangement, Amount Capitalized                         $ 0 $ 0    
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)                         $ 9.43 $ 4.53    
Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value                         $ 3,132 $ 643    
Share-Based Payment Arrangement, Option [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)                           10 years    
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)                           4 years    
Restricted Stock [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)                         97,461 123,533    
Restricted Stock [Member] | Employees [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)                           4 years    
Restricted Stock [Member] | Independent Directors [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)                           1 year    
Restricted Stock [Member] | Independent Directors [Member] | Share-Based Payment Arrangement, Tranche One [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage                           25.00%    
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)     18,888   20,493                      
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value     $ 303   $ 200                      
Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares) 40,557                              
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Minimum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range         0.00% 0.00%                    
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Maximum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range         150.00% 150.00%                    
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Share-Based Payment Arrangement, Tranche One [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage                       100.00% 100.00%      
Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage                       50.00%        
Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment                         $ 60      
Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Vesting Based On Performance Metrics [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage 50.00%   100.00%                          
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)             5,000   18,000              
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value             $ 59   $ 191              
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Forfeit, Outstanding, Number (in shares)       6,000                   6,000    
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Share-Based Payment Arrangement, Tranche One [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage                           100.00%    
Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in shares)       12,000               6,000 6,000 12,000    
Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage                       0.00% 88.00%      
Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment                         $ 14      
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Minimum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range                 0.00%              
Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Maximum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range                 150.00%              
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)   5,081                            
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value   $ 108                            
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | Minimum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range   0.00%                            
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | Maximum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range   150.00%                            
Performance-Based Restricted Stock [Member] | President of Environmental Technologies [Member] | Share-Based Payment Arrangement, Tranche One [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage                         100.00%      
The 2023 Stock Incentive Plan [Member]                                
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)                               350,000
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares)                               1,117,942
Stock Plan 2014 [Member]                                
Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount                       $ 2,957 $ 2,957      
Restricted Stock Vesting in Three Years [Member] | Restricted Stock [Member] | Vesting Based On Performance Metrics [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage                     100.00%          
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range                     0.00%          
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range                     150.00%          
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | Vesting Based On Performance Metrics [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range 150.00%                              
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | President [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)                   75,162            
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value                   $ 345            
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | President [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Minimum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range                   0.00%            
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | President [Member] | Share-Based Payment Arrangement, Tranche One [Member] | Maximum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range                   150.00%            
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | Chief Financial Officer [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)               5,953                
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Granted, Fair Value               $ 100                
Performance-Based Restricted Stock Vesting in Three Years [Member] | Performance-Based Restricted Stock [Member] | Chief Executive Officer and Chief Financial Officer [Member] | Share-Based Payment Arrangement, Tranche One [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range       150.00%                        
Restricted Stock Vesting on August 24, 2023 [Member] | Performance-Based Restricted Stock [Member] | Chief Financial Officer [Member]                                
Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage               0.00%                
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member]                                
Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment                         $ 20      
Share-Based Compensation Arrangement by Share-Based Payment Award, Additional Award Vesting Rights, Percentage 50.00%                              
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Vesting Based On Performance Metrics [Member]                                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage                             100.00%  
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Vesting Based On Performance Metrics [Member] | Minimum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range             0.00%                  
Performance-Based Restricted Stock Vesting on January 1, 2025 [Member] | Performance-Based Restricted Stock [Member] | Members of The Senior Management [Member] | Vesting Based On Performance Metrics [Member] | Maximum [Member]                                
Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range             150.00%                  
XML 90 R73.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) - Restricted Stock [Member] - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Allocation of Share-based Compensation Expense $ 2,047 $ 1,787
Cost of Sales [Member]    
Allocation of Share-based Compensation Expense 104 62
Selling and Marketing Expense [Member]    
Allocation of Share-based Compensation Expense 41 32
Research and Development Expense [Member]    
Allocation of Share-based Compensation Expense 19 51
General and Administrative Expense [Member]    
Allocation of Share-based Compensation Expense $ 1,883 $ 1,642
XML 91 R74.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) - Share-Based Payment Arrangement, Option [Member]
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Risk-free interest rate 3.93% 2.05%
Dividend yield 0.00% 0.00%
Expected common stock market price volatility factor 57.00% 55.00%
Weighted average expected life of stock options (years) (Year) 6 years 3 months 6 years 3 months
XML 92 R75.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Options outstanding, number of shares (in shares) 580,419 408,869
Options outstanding, weighted average exercise price (in dollars per share) $ 8.91 $ 9.07
Granted, number of shares (in shares) 93,860 202,540
Granted, weighted average exercise price (in dollars per share) $ 16.25 $ 8.45
Exercised, number of shares (in shares) (124,550) (8,060)
Exercised, weighted average exercise price (in dollars per share) $ 7.85 $ 4.74
Canceled, number of shares (in shares) (44,723) (22,930)
Canceled, weighted average exercise price (in dollars per share) $ 9.77 $ 9.1
Options outstanding, number of shares (in shares) 505,006 580,419
Options outstanding, weighted average exercise price (in dollars per share) $ 10.46 $ 8.91
XML 93 R76.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) - shares
Dec. 31, 2023
Dec. 31, 2022
Options exercisable (in shares) 171,735 167,886
XML 94 R77.htm IDEA: XBRL DOCUMENT v3.24.1
Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details) - Restricted Stock [Member] - $ / shares
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Unvested shares outstanding (in shares) 288,450 262,533
Unvested shares outstanding, weighted average exercise price (in dollars per share) $ 7.8 $ 7.16
Granted, number of shares (in shares) 97,461 123,533
Granted, weighted average exercise price (in dollars per share) $ 16.43 $ 9.21
Vested, number of shares (in shares) (178,636) (91,672)
Vested, weighted average exercise price (in dollars per share) $ 8.21 $ 8.04
Forfeited, number of shares (in shares) (17,491) (5,944)
Forfeited, weighted average exercise price (in dollars per share) $ 10.08 $ 9.16
Unvested shares outstanding (in shares) 189,784 288,450
Unvested shares outstanding, weighted average exercise price (in dollars per share) $ 11.51 $ 7.8
XML 95 R78.htm IDEA: XBRL DOCUMENT v3.24.1
Note 14 - Stock Repurchase Plans (Details Textual) - USD ($)
shares in Thousands, $ in Millions
Dec. 31, 2023
Nov. 20, 2023
Stock Repurchase Program, Authorized Amount   $ 10
Stock Repurchased and Retired During Period, Shares (in shares) 0  
XML 96 R79.htm IDEA: XBRL DOCUMENT v3.24.1
Note 15 - Employee Stock Purchase Plan (Details Textual) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Jun. 23, 2021
Stock Issued During Period, Value, Employee Stock Purchase Plan $ 205 $ 233              
Share Price (in dollars per share) $ 13.6 $ 10.3 $ 15.17 $ 26.26 $ 20.74 $ 7.63 $ 6.82 $ 10.73  
Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount $ 31 $ 36              
Employee Stock Purchase Plan [Member]                  
Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)                 250,000
Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares) 11,780 27,162              
Stock Issued During Period, Value, Employee Stock Purchase Plan $ 174 $ 197              
Shares Issued, Price Per Share (in dollars per share) $ 11.56 $ 8.76 $ 12.89 $ 22.32 $ 17.63 $ 6.49 $ 5.8 $ 9.12  
Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date 15.00% 15.00%              
Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount $ 31 $ 36              
XML 97 R80.htm IDEA: XBRL DOCUMENT v3.24.1
Note 16 - Employee Benefit Plans (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2023
Dec. 31, 2022
401(k) Plan [Member]      
Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay     10.00%
Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Emplyee Amount     $ 5
Defined Contribution Plan Employer Matching Contribution Vesting Period (Year)     4 years
Defined Contribution Plan, Employer Discretionary Contribution Amount   $ 767 $ 767
The Ambrell Plan [Member]      
Defined Contribution Plan, Employer Matching Contribution, Percent of Employees' Gross Pay     10.00%
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent     100.00%
Defined Contribution Plan, Employer Matching Contribution, Percent of Match     50.00%
Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount     $ 5
Defined Contribution Plan, Employer Discretionary Contribution Amount $ 747   $ 747
XML 98 R81.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information (Details Textual)
12 Months Ended
Dec. 31, 2023
Number of Reportable Segments 3
XML 99 R82.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information - Segment Information (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Net revenues $ 27,884 $ 30,941 $ 32,558 $ 31,919 $ 32,405 $ 30,771 $ 29,571 $ 24,081 $ 123,302 $ 116,828
Earnings before income tax expense $ 1,566 $ 2,723 $ 3,365 $ 3,394 $ 3,881 $ 3,039 $ 2,570 $ 655 11,048 10,145
Acquired intangible amortization                 (2,095) (2,694)
Interest expense                 (679) (635)
Other income                 1,288 59
Operating Segments [Member]                    
Net revenues                 123,302 116,828
Earnings before income tax expense                 22,806 21,978
Operating Segments [Member] | Electronic Test [Member]                    
Net revenues                 41,016 40,219
Earnings before income tax expense                 10,189 9,931
Operating Segments [Member] | Environmental Technologies [Member]                    
Net revenues                 30,801 30,172
Earnings before income tax expense                 3,073 3,817
Operating Segments [Member] | Process Technologies [Member]                    
Net revenues                 51,485 46,437
Earnings before income tax expense                 9,544 8,230
Corporate, Non-Segment [Member]                    
Earnings before income tax expense                 $ (10,272) $ (8,563)
XML 100 R83.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information - Identifiable Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Identifiable Assets $ 134,829 $ 110,066
Capital expenditures 1,291 1,365
Electronic Test [Member]    
Identifiable Assets 32,505 31,143
Capital expenditures 599 80
Environmental Technologies [Member]    
Identifiable Assets 16,772 18,040
Capital expenditures 495 368
Process Technologies [Member]    
Identifiable Assets 56,842 56,866
Capital expenditures 170 543
Corporate Segment [Member]    
Identifiable Assets 28,710 4,017
Capital expenditures $ 27 $ 374
XML 101 R84.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Revenue $ 27,884 $ 30,941 $ 32,558 $ 31,919 $ 32,405 $ 30,771 $ 29,571 $ 24,081 $ 123,302 $ 116,828
UNITED STATES                    
Revenue                 45,222 49,096
Non-US [Member]                    
Revenue                 $ 78,080 $ 67,732
XML 102 R85.htm IDEA: XBRL DOCUMENT v3.24.1
Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Property and Equipment $ 3,190 $ 3,132
UNITED STATES    
Property and Equipment 2,502 2,658
Non-US [Member]    
Property and Equipment $ 688 $ 474
XML 103 R86.htm IDEA: XBRL DOCUMENT v3.24.1
Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Revenue $ 27,884 $ 30,941 $ 32,558 $ 31,919 $ 32,405 $ 30,771 $ 29,571 $ 24,081 $ 123,302 $ 116,828
Gross profit 12,449 14,447 15,030 15,052 14,981 13,898 13,548 11,013 56,978 53,440
Earnings before income tax expense 1,566 2,723 3,365 3,394 3,881 3,039 2,570 655 11,048 10,145
Income tax expense 111 446 572 577 637 515 454 78 1,706 1,684
Net earnings $ 1,455 $ 2,277 $ 2,793 $ 2,817 $ 3,244 $ 2,524 $ 2,116 $ 577 $ 9,342 $ 8,461
Net earnings per common share – basic (in dollars per share) $ 0.12 $ 0.19 $ 0.25 $ 0.26 $ 0.3 $ 0.24 $ 0.2 $ 0.05 $ 0.82 $ 0.79
Weighted average common shares outstanding – basic (in shares) 11,962,679 11,886,005 11,241,183 10,755,729 10,725,662 10,695,867 10,653,268 10,617,271 11,461,399 10,673,017
Net earnings per common share – diluted (in dollars per share) $ 0.12 $ 0.19 $ 0.24 $ 0.25 $ 0.3 $ 0.23 $ 0.2 $ 0.05 $ 0.79 $ 0.78
Weighted average common shares outstanding – diluted (in shares) 12,122,099 12,212,317 11,696,569 11,088,664 10,928,220 10,864,540 10,814,799 10,842,592 11,779,912 10,862,538
XML 104 R87.htm IDEA: XBRL DOCUMENT v3.24.1
Note 19 - Subsequent Events (Details Textual) - Subsequent Event [Member] - Alfamation [Member]
€ in Thousands, $ in Thousands
Mar. 12, 2024
USD ($)
ft²
shares
Mar. 12, 2024
EUR (€)
shares
Mar. 12, 2024
EUR (€)
ft²
Business Combination, Consideration Transferred $ 22,358 € 20,000  
Payments to Acquire Businesses, Gross   € 18,000  
Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares) | shares 187,432 187,432  
Business Combination, Consideration Transferred, Other   € 542  
Annual Lease Payments $ 253   € 231
Warehouse and Office Space [Member]      
Area of Real Estate Property (Square Foot) | ft² 51,817   51,817
XML 105 R88.htm IDEA: XBRL DOCUMENT v3.24.1
Schedule II - Valuation and Qualifying Accounts (Details Textual) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
SEC Schedule, 12-09, Allowance, Credit Loss [Member]      
SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense $ 0 [1] $ 5  
Acquired Accounts Receivable Subsequently Recovered [Member]      
Accounts Receivable, Fair Value Disclosure     $ 0
Acquired Accounts Receivable Subsequently Recovered [Member] | SEC Schedule, 12-09, Allowance, Credit Loss [Member]      
SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense $ 198 $ 470  
[1] Bad debt recoveries in the table above do not include $470 that relate to receivables acquired in 2021 that were valued at $0 at the time of acquisition but were subsequently recovered.
XML 106 R89.htm IDEA: XBRL DOCUMENT v3.24.1
Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
SEC Schedule, 12-09, Allowance, Credit Loss [Member]    
Balance at Beginning of Period $ 496 $ 213
Expense (Recovery) 0 [1] 5
Deductions (19) 281
Reserve amounts acquired 0 0
Foreign Currency Adjustment (3) (3)
Balance at End of Period 474 496
SEC Schedule, 12-09, Reserve, Warranty [Member]    
Balance at Beginning of Period 673 531
Expense (Recovery) 351 473
Deductions (376) (315)
Reserve amounts acquired 0 0
Foreign Currency Adjustment 0 (16)
Balance at End of Period $ 648 $ 673
[1] Bad debt recoveries in the table above do not include $470 that relate to receivables acquired in 2021 that were valued at $0 at the time of acquisition but were subsequently recovered.
EXCEL 107 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( &"(>U@'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " !@B'M8&_&ULS9)1 M2\,P$,>_BN2]O385Q=#E9<,G!<&!XEM(;EM8DX;DI-VW-ZU;A^@'\#%W__SN M=W"M#D+W$5]B'S"2Q70SNLXGH<.*'8B" $CZ@$ZE,B=\;N[ZZ!3E9]Q#4/JH M]@B\JN[ (2FC2,$$+,)"9+(U6NB(BOIXQAN]X,-G[&:8T8 =.O24H"YK8'*: M&$YCU\(5,,$(HTO?!30+<:[^B9T[P,[),=DE-0Q#.31S+N]0P_OST^N\;F%] M(N4UYE_)"CH%7+'+Y+=FO=D^,LDK?EM43<'OM[P6%1?-P\?D^L/O*NQZ8W?V M'QM?!&4+O^Y"?@%02P,$% @ 8(A[6)E&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" !@B'M8)>T+Q:(' &,@ & 'AL+W=O'])(^"Q"G,XO M&P/[\ZAM)07I.W[Z]$7L/$9)4YX8>TX.QMYEPTK.B ;4E8D$4?_6=$B#(%%2 MY_%?+MK8?F92N/MXHWZ3-EXUYHD(.F3!+]^3R\M&KX$\.B=Q(!_8R]\T;U G MT7-9(-*_Z"5[;\=I(#<6DH5YL3J#T(^R_^0U![%3H!JJ+\!Y 7Y78+1!"C.M5LWWH^1[GTJN7O55G>R/ MF!NKKU&B0>2AZTCZ\@V-HZP_)=]+$_V8CM#'#Y\N6E)]7%+4G.P5!A5'U#U%CGV"L(4=S0D-X?([PD^1E96W M->4CN/QK'*E/MW2?7FJ-LT7OI'K./O2[O'_?JG>AL:2A^%>'/)-LZR632>*S M6!&77C;4+" H7]-&_\\_[*[UEPZ72;&1(;$2RO8691M2[^<==ZAHW2VO+MC.@1JH7CI8;P*RT'&"Z^"E?:O2E2P5I5[ *OJPC(D5H)E6X6KLP[#-7M;:8??GGK;:G[3(8++ZC(R MI5:&M&-][<,@#:(H5GWJ@:X8EUI:L)#DL79RA\MJTS*D5J:%"UKX,%KY/ 5- M[OND-CZ^TLC# K7)&5(KDRM\O@UZWYW!J)R6\%.?#_0U6*S220RKGI5 M&B1/T%2JP8D81T,6JUBDTA'S](,55A]=:P$:M?:FU,H "W-OP^X\!S@CKVCL MJ8'JSWTWB^- WX,E,6YBY\SJ=LZU](S:?E-J97J%\;=AKY[3&WB>4A,3]-54=.O;5 ;8L+5&CL<"46IEH$0QLV,N_ M)SI,CM1(GK&72$L3EKN3I^B6Q)P&6G)&,X(IM3*Y(B78L+5_3VX["4XX6_N1 MJ^^,L.;]5RTVHVG!E%IY6;6("QBV^^^Q39B0RA#_XZ\JKQI[%*V>U=&ML0[A MNKK<3*F5N14) L/&/QV8 TY)-298H-?I:B$9#0ZFU,J0BN" 8;=_R]+5C26+ M("^W1Z1C=9J]GG[NATMKTSI&6,!%6,"POY_Y4GE>-D^9%IO1J&!*K8RMB KXH*CPDP4JDA*>!7RN7<+=HU0!RV@*,*56AE6D 'Q0 M"MC<6,E6C-*)3)E:_;KW'L5'JJL:PE6UJ1TC > B >"#$L XDI1GFTJ254JR MP:BE!BM643,: $RIE7VV M Z,1P)1:F5P1 1S8P>?DIB$) G05"_6RT([-/3I5]Q#@LMJPCA$%G"(*.+"+ MSV%=AY0ODIGLBU*02Q6>PA6)]/T-%JQ<#8?K:F,[1B9P=C8*P4Y^/+QY0(/8 M\R7C:" E5>D\79ZLVHRP1Z^RKYG=$'0,V^\4MM^!7?O.'>.(1*ZO,FBZ&I0^ M=\UYNC*NK@G9_L/?"4K]CBOX8ZI[H-%T8$JM#+-(!\Y!MQBF2V5XP>$*RU3# M,AH.3*F5817AP#DH'$SBI\!WU1AE1&L[8)7:>_F,YH1"BVGWF&,;?*8R_ ]OT M#:2J98L]Y0_3._1CBFYOM1L9X>+:I(YA]MN%V6_O,>DYJ61A-KGXZ6CMD;A* M%A*OU,7@!$UH%(FW8$TBG^C0P4JU-\T:=?NMG8WSB2=-?X @D)O<,<_VT&^? MW?[(89!N[6\5;\]^(7%'$DLK4$#GJM0Z/5-S)\]^=) =2+9*M^$_,2E9F#Y< M4N)1GKQ!O3YG3&X.D@_8_O2C_S]02P,$% @ 8(A[6-\"L'5!" 0R4 M !@ !X;"]W;W)K,1,="9=%+R4ESG_Z&LF/9XI!.#KD7;6QY2/V' M#_.;H73QJ,WW=JE41WZLZJ:]G"R[;OU^-FN+I5K)]IU>JP9^66BSDAU\-?>S M=FV4+/M&JWK&HBB9K6353.87_;4;,[_0FZZN&G5C2+M9K:1Y^J1J_7@YH9/G M"U^K^V5G+\SF%VMYKVY5]^?ZQL"WV;Z7LEJIIJUT0XQ:7$X^TO=7(K,->HM_ M5>JQ/?A,K"MW6G^W7SZ7EY/(*E*U*CK;A80_#^I*U;7M"73\M>MTLK^G;7CX M^;GW7WKGP9D[V:HK7?^[*KOEY22;D%(MY*;NONK'?ZJ=0['MK]!UV_]/'G>V MT804F[;3JUUC4+"JFNU?^6,W$ <-J/ T8+L&[*4-^*X![QW=*NO=NI:=G%\8 M_4B,M8;>[(=^;/K6X$W5V&F\[0S\6D&[;GZEFU;752D[59)/LI9-HO@SK;]K-C=Y=/V+LQSEVM5O".<3@F+ M&$>:7[V\.3MN/@-_]TZSO=.L[X_[G-X8HYJ.R+8%/]]C_FP[$'@'=F^];]>R M4)<3V#RM,@]J,O_[WV@2?<"\>Z/.CGSE>U]YJ/?YE6R7!&:-%/:#^FM3/<@: MG$=G<=M5W'=E \##7,0LB2YF#X?NN%:4"R[V5DM#1M-X MY*EKQ2BC,>YJLG)2E>V5I4-F- M46M9E43] '[9<;7CJ;NE@O$^VLR8[A13)$:R72.:Y![5V5YU%EXZNI/U"P1F MSKVS.$VSD4+7*HFBF.(2\[W$/!@*;PQD!*9[Z@?41HY=QT="N!)1,S12D= M1Q+$+,^2U*-V "(-$_$WU;;O;4#?K#9UG_>4"E9944F;6*)ZN2/D/(V9HQ#TF M4:$NPT2>I6.AKA7$QL@C=" =#:/N5ZW+QZJN46$(PFC*G#V/F261;[H'U-$P MZSXWG6SN*\@P3HX@!JTX3\9"$;,LCG./T(%N-(RW:[50@+:2=/)'@&[4!1<5 MW)EGUXIEOFD>Z$:#(#G**F'[5(NJ@!W?IV6PZ75;X>.:(_')V4%AH^/"9" 3 M"Y/I2Y_3^ >3N:"A$>4C;8A5G'CFFPTT8F$:;=.9@#:7+E 89$Z]OJ[O]1WK$!9^Q$@;=S>JU-?S "2_N;,BOR MA^X4ZKQ+*>&N[E-6QV('E+$PRA"QEFM WN:>U#;;.9P\5#Y2X^7,V0"(52(\ MH9D->&-AO'U\K@+7\LF6@*A !%@Q&V=BB%7*[ M(NE.-6I1>3:L2S!!XS$^$"N>1YXTC V88V',/4N%S&8!&1FL!@@N"^69=01A MS"$R8I5EOC$=,,?"F+OJ3^$@*N^(L1W7\AE^1D'1O,&7@LLTGN9C\B%6 A(A MC^P!?2R,ON?QO94U+(4KO5I5_2A/R6X3HHHQJ,7CPP?,2B0>Q7Q@'P^S[QI& MN>VJHA_?A3:JNF](U11PV:88*KCM. 9&/EXAF)6(/&3D QEYF(Q?CDXB3D0P MCN!/9., @5G%B69CGF-F2>;+-_C!R668;%_\ M9-B?O17'0$&]<%'&A>L$ KS4E\SS 7@\#+P]BE^EV*57FA^4Z3O%".-8Y*OF M^0 Y'H;C$/RJ(7:A M1CEW-J%KY4F!^, ]'N;>-E:;NWUO\I.8O>1112 D,>9+U1'T@\C:+(_B/M4AJ;_VZZI3;5?U3Y@33Z^2JD M038OTH;H3==VL'Y@Z:##YR+8>> 4,CEV=$"T""/:+FXHC7Q>LBCD)F53)N@T M9W&_,2B=1@F?LI0>>W_Z,91 SFC9&$&8$?4\D1 #]T68^Q_+LNJV]8!]Z'-> M-:20ZPK"$BK4!7,*=.0,P2D<>>LS0QI 'BE6E /]PO%K_M M?/2.@'L4B-EA1X&S@S=<[.M%OTMS7S4M% 8+:!B]2Z$'LWUC9_NET^O^I9<[ MW4'QWG]<*@FRK0'\OM"0(^R^V/=H]N]-S?\+4$L#!!0 ( &"(>UB$FV5[ M]0( .X) 8 >&PO=V]R:W-H965T&ULG99=;]L@%(;_ M"K)VT4I=_!TG51*I335M%Y.BIMVNB4UB5 P>X*3=K]_!=CT[=;Z:BQCP.2_/ M.1P,DYV0+RHE1*/7C'$UM5*M\UO;5G%*,JP&(B<5F&9=:PEL*?GHV M%UP)1A.L28+N,<,\)FAIY!2Z6F!)N$Z)IC%FZAI]1<_+!W3UY1I]092CIU04 M"O-$36P-*$;0CNMI[ZMIO0/3/I!X@'SW!GF.Y_>XS\]W][KN-B2@R8+79,$K M]8(#>G<,RKD,'38&2D2QTNN"08W%HN"Z-[Y*,"P%S5[9SH(HF-C;=A ]-N-A M8],A]1M2_RCI JJ<2 F+!:41OZ <2[3%K"#H"E8D$8QAJ5!.8*>FL'K7?>C5 M#%$+RQDX[A[[":,.?-# !Y? WU2,"N%"IT+2O_#"1%&-]J)7^L,65>B4OSWZ MTW:= ,(F@/!3 5"EBM/PX0>H?>QC%AW@80,\_!0P?-"5AJU+^>84]? D]3&+ M#G744$='J>=_X>9_PG MP&O1-E 41N%H#[O'S ]\9[0';;<.8W,3^HGEAG*%&%F#GS.(8)/+ZG)1=;3( MR_-Y)32<]F4SA0L9D<8 WJ^%T.\=<^0W5[S9/U!+ P04 " !@B'M8'_JZ M\84>B[R4BZ<%30KG>6\'GL0RSFO5)Z5[$$@614%%?_ ML]U>Z8'939 M.]*N/''^77_F MU@9OLE*G<:T$_)J!GEJN>"EYGJ54L12M%3P@1THBOD6?#TQ0'6N)WJ.OZUOT M]O4[]!IE)?JRYY6D92KG,P4,VM)LT\YWT\Q')N;#!'WBI=I+=%>F++TT, /X MS@/RXL$-L5J\99LKY.'?$'&)9P!:_;HZL>!X74"]VIX_8>^1'5E9,5-D&L6@ M5M3;ZPC1\#P79CV>\QK$)2Z:R*:;[&0'@V<1AZQ!_@ M&:0\+YZ@"SJZP$KWA^!2HH/@VTR9T(+1I$&81/$ S2#E^;YK1@L[M+!6\R;0 MVFU0[A![AL-3,GEM(@QM_NG#^%H>Z(8M'#AM)1-'YBS?O,*A^\&T9/\G8Q?^ M1IV_D345:SA2S[PU^1J-XHRCT T&V3!(!8GKF;,1=W2QE>ZNW,$($YH03B"] M9-)JH^#D/D)).NC#RT8>CYBB$ ^7D4$H((F9.^FX$_L"9R4LH[QFIBDED=F0TW&9$0[.%PP#N6P@F)(S,P=OO*X%J1OW %P'RT_(V'OCMB\,/ 2P:D M)C$2X8G8XK,BAJVH_1[-R@TOC+%L35R$R?7'B":QB. )1-(C$BOB?:D8;%;K MZFQ-G,_]/HQ&A"8I+Y@ [.L6MA>NSVK/A"U^WC@P)![N'8-4,)7>OG1A>^VZ MHZ*$Y$KTQ.#BREI(I.BS-9KC2H4AXR-B@YB+_:EX]A4-VTO:_:]!CFL6CMSA M#C=)A;$_@=A7-FPM),N_H$U@;6R-<.'H*I)X_O"^8I"*_7!JP_1E"-OK4)=T MV-L(0EG I5_N*:3_S:N88/Q!7]^S#7H+%]*4YSD5C6@M\\[H3C-A= ;J7L4C M=TQ2T=0:[NL6MA>N;W5# 9=L>H2S:L?BJ5+1%S=LKVX_SU6:Y97V_C]D*['GH77**#5Q&R5][2/V MVO>3;.DJ?N$F^U%E1YHWK9,AE>?N6Y))QO41XRA*$CQC@_$;Z->;[KHWTS3[GZB 6YE$.=N"28@_ MG 6BZ9^;#\4/=0OZQ!4TM/7KGM&4"2T OV\Y5R\?>H+NOQC+?P%02P,$% M @ 8(A[6+7VCT*J @ S@8 !@ !X;"]W;W)K8PUF5==,OTU1J/4XZ >; MA0=>5M8MA)/1DI4X1_NXO-!_P@^/:;(W! M.7E2ZME-OA;CH.<$H<#<.@9&KQ>5*&/^$=1/[*0T@7QFKZA9,"FHNFS=[ M;?=A"]#/C@"B%A#M I(C@+@%Q-YHH\S;NF&6349:K4&[:&)S [\W'DUNN'2G M.+>:OG+"VEQK&'>YIXVN:,CN?L1W"EI*P.WLL#B/4%(1CHW MT<;--#K)>(/Y)<3]CQ#UHOB H-G_PZ,3!IUZ MM"NWE\DP3BCQR[;D_:!!DO6[H'?"DDY8;$O=193$.Q;V@])D>-A!VCE(3SJ@&J8* ME50B6J/,W\!J)HU@36\H?E'E^(M\2'.Z)R>)ASN2]V,NAE%Z6'/6:A^89._4$L#!!0 ( &"(>U@;4WU:A @ * [ 8 >&PO=V]R M:W-H965T&ULO5M;<]NX&?TK&'6GW9VQ(@*\B:GM&4[XHG^D#9[[O[AE]-CBS+O%E75=+VK1_0^F? M^Y*]HC'Z_6&.?O[I%_03*K?HMW6];XOMLKV>,-X:P3E9]#5_.-1,SM:\V?!8 M[&I!__Z5;AYI\Q\#S*XI8S9O:<)EMK)F=]3<^[[3[YO6@ MWQ7JU;00Y@!AS263BTUX+!T#BAP#BG0\P1F>#T55;!<4_O)\&@[6ZL7,_;[=%0MZ,^)3 MM?<.3]W10&+LE2EV292[+<$9D4$/XQ(/PW!<1;@N# %,I!H/2_ MCB%)XF,9-3>@ C_Q952JH\(DD#&9CAD33P'E!J)@2H;J).6"HW*!5;E_\IT( M[2<@DUJ!-F34L0(BYCIB&D2*F"E(DX&('*A($B@\"A1:!?K$UK1!BWK#PW8M MMD?/%%5U:Q0K!,4"$7,0D>J(L1]'BE@@30[02&)%1[$BJUAWF[IAY7^+;@?( MEW>^7Z--P]H8=.Q2OT>=#P +\3D]85XBGKBI;B:V#H);I\?#N@+/4S:T,O'7DNR5*7 M9)E+LMP1F10ZV!M27.^[@^>/HMI3,';VO%G&#-<#5[\>8MM6P) 4AF0P)+:SVKM!_TM%S/7O>E@\TI6^J4+7/*ED/J MRGT]I/;8GMN?Z6MC_WY'RHF,[H]N#/A3=0#I&&T .6I/YHHH[XE"\XW)/33D MVMB>;!_60E0>YKK]=LGSHW2SJ^I72ON9[7[?+-9\4X_N>5X.#E-?4Y;$."+J M.+6VZN)QZI(M=B[ZI$_'>8+>KEX1*[ZBJBP>RTKX M\05#(ID06QJ>1KPM9>^KM^Y:8#,$AJ0P)#- QEC;M]A!LLR#'X+MAL@;G&IB ME,_@(F O\OG$J*IH;<#%TZ)+MM0I6^:4+7?%)@?&8.A@NZ-SQK$V!T.L3W]8 MBP/=U/%QHGE@)AB9AH$ZJG08P5-U7.F@,<&J;6U 14$2GG$:\6!V8+O; 3G7 M&+009C!D;H D?D!4N6!# X;D4%VR4(.M@>V^QB4.-M;]"4TT$#*'(:D!@A/5 MQ(9Y]3?161OBD 0Q)84@&0W)K /$[@U]+LVGDFAH,0.)YJ(\?I00BG;*E3MLPI M6^Z*38Z6P2 @=H/ A?-,] ,16G3H63OQ0G7@P6/#MQL-IKE,,I\[-V8Z(X!,/ M8D>;[K417EP2'+VLR\4:]8D3GQ'9F@HPW[5!$Z2OI_^!%X:*&#/[35TZ03IE M2YVR94[9G+& J#0#4(Y@980+2' M,JD)IC[TRPR@<>)A=6CIJ"0B4_6-CM L!_7]4U^W8A7G \OI1[^S]02P,$% M @ 8(A[6$Q0,BW6"0 TBP !@ !X;"]W;W)K=BGWZ&DB++XD!KSWB26?43]SR%Y?H<43Y[SXJ=87VRV @ MXC7?,/$YW_(,?EGEQ89)N"P>!V);<+8L;]JD S(<1H,-2[+>V4GYW;PX.\EW M,DTR/B^0V&TVK'C]RM/\^;2'>V]?W"6/:ZF^&)R=;-DC7W#Y?3LOX&K0M+), M-CP329ZA@J].>^?XRS0,U0VEQ8^$/XO69Z1<>GG:&RI%/.6Q5$TP M^/?$ISQ-54N@X\^ZT5[S3'5C^_-;ZU>E\^#, Q-\FJ=_)$NY/NV->VC)5VR7 MRKO\^7=>.U0*C/-4E'_10 M[@V!XP9:WT!+1RMEI5L73+*SDR)_1H6RAM;4AS(VY=W@39*I;ES( GY-X#YY M-LTSD:?)DDF^1 L)_Z"/I$#Y"DV96*,KZ&>!^NC[X@)]^.TC^@TE&;I?YSO! MLJ4X&4C0H%H:Q/7SOE;/(X[G88*^Y9E<"W29+?EROX$!B&\\(&\>?"7>%B]X M_!E1_ F1(:$60=-?OYUXY- FH+1LC[H">K[X'5W=W/ZQ0%=WM]_0[?SR[OS^ M>O9W=#Z]O_YQ?7]]N;"%K6HUL+>J)O,7L64Q/^W!;!6\>.*]L[_^!4?#O]E< M/E)C>P$(F@ $OM;/9I![."NR)'L4Z$.:"_'1YF_52%@VHG+-T]F$!M !3VT_ M3*-Q$.'&:$]?V.@+O1UTOOPW3*MJE,L<4E&<9W&2AL?LV2,UMA>YJ(E M.IG2NV;9(TE:8*'$[O*2:-RXE5YWNITA0E@)B\* MF!1QOH'B0E0_%#PMD0+S"!@6_^PKUL*(>6:%'1L30RD9!J...Z81'HU'=G_P M4"-PZ!_7B8CS7281Z!9K!A,'P2A9HAT0JD"7FVV:OW(.= 0_T'Q70.\(CN8I MLP[Z^F%[W4)QQQ&K4>1PI,5R_-ZPCSE?"K0J\@T2#)):V4$;@+PLJH[A?^Z2 MK/VX@0&O.F.9B&T.;BB5D(0A MXS'M,:@FJ/ 0(4R=04?!="N'BYIPAZ2-)'6/%D_8D\; MF70SI<7*%6O-<.R'^+1,D$(5HTP(+JOL_B;616)\5!0?J[7]$&@88S^-[PNV MY%![E*E+J#J&)T_L(>56STW*DLG$F!6F53\8CUUY2=,8^W%\7<,6^L4JSF0I M%./&1#"M^G@840=TL:8N]F-W7O M2R"IO"A\\;I0D&O(_?$.)C3,B6J,6;5; M(!S2L*O=8D4"ZE"N28S]*+XM17K$F;SL1ZWNK,59K(A=&M%,)7ZFWC;5<
H36:+&'T\0;,6H0BQ$ R %OHC%(_!A\4PK 7D'9 M#1 !@*^XH]]-NE':+6(M1OTV*/>%:@(2/P&GY>X*3* EARHCJ1G2E+,%AZ2U MLP\%"_=&H2';8H6#R+&T(9I]Q N6)L"JOA.JZMXD99BM2D-+1B?&2#"M(N+( MJT0#BKRS7(3@"IG$95A7]=I&UT;::83'KI&@R47\Y+KHC-6FI'^3OE5+-:J)1 M?- VY/7LQ^7B5[8AO: \>!_R2*WM!T%#D_JA.6>OY0)'S0C7 J>U4?&/_B). M>!8KP,:PP@0F."8/]2T?:]=M=!VY^K6UN^RGZQU?[51YND*K1(%5O211@S%F MVT3"-=/+NI9G@(Q=FC\FL=49$Z^&,Q9,NW:[J 8P]0.XV4HY:'E/;5@EQEK& M:D8C1R%&-7VIG[YMT6(-^15)7FS*_<1Z5]DJVB2L$6,+JFDP<4"":@Q3/X87 M99EPF%H3JX9:T\0C5I.7^LG;)-\ZW]9*?R'=VE:'EE%A,\.NBH%J$M/Q0>GV MZGIV/IO^0KKU O[@='NDUO:#H,%._6!7G;?=VX+<[AY2* #S%=0IJ@_+1+S9 MJ'U6M9EJC8AECW="C.UWBYFC, DT^0,_^3O;I^5V;[Y5#!"(O_ B3D3WC67] M+LN$^&0T[BBV&%''8BO0F \.VO']GS>O \N>[Z@;>YO1Q+$<"S2L S^L%US* ME+_QFK\)5[NHK5I1Y00 >%:? GA.Y!K)@C.Q*U[K+I,%RP2+7>P.+&".QMW2 MTF:%72-,TSOPT_N=VE(A/8O?3W:!B6,<1L/N M1B!FLHZDAV0>L%KY_;ES"= MX^J,0/.J"JHI7N[9*_>LFDT>XZA;#5N,^I0XJ!)H9@=^9K\3=I:F[P7<9#,= M1F-C8E@0'D784?0%&N&!'^'J),:GR@-5&CT!T;-ZNP+FNRR26-5YY>],H@?^ MF&19G6ZAJ$IR>](R"8Z#<-3=';28$8PGCCHJT*0/_*0_S"=>U;P>;TRP!R&) MNF6+Q6S?Z7UO-/^#=_A?CJYJN2'49H?U_4-P5-H?J[5]ES7M S_MW]W>L4; MQ#;,;Z.7+%835QH(-=_#H;>3%M_G\YO+;Y>S^_,;='&]F-[<+K[?7:+;*S2[ MG?7+&JZU3IY=6,LX^QD/;V5Q\"&/([6V'R==5(3^HJ*J%:Z%V-G+G=#V8GC8 M+;5M5MA5\82Z3 C]9<)57JQX(G=%N0+;E-3S8,=J;=]E73"$P?]E=11Z MZY"#@W"DUO:#T#IVYB]"[GC#!QBES2BP^EVUU#[WU@_PL)LF;69T$G:GV*!U M.G3#B\?RT*QZ<;#+9'7,LOFV.9A[7AY'[7S_%7^95L=K=3/5:=]OK(":0Z"4 MKZ#)X><1:"JJ [35AT!QC/OLO M4$L#!!0 ( &"(>UA%"UD\L , #$/ 8 >&PO=V]R:W-H965T&ULK9?;- M*K;%2@*R;[^2;1R2$V9:M_Z>MN2^K!@?%'L4&4\)2EN1@Z&RFWUZXK MP@UF1+38%G/U)68\(U(U>>**+4<2%499Z@:>UW4S0G-G-"C>W?/1@.UD2G.\ MYR!V64;XOQ-,V6'H^,[QQ9(F&ZE?N*/!EB3X@/++]IZKEENK1#3#7%"6 \=X MZ(S]ZZG?U@9%CZ\4#^+D&33*FK%'W9A%0\?3,\(40ZDEB+KM<8IIJI74//ZI M1)UZ3&UX^GQ4ORW@%L@#I:+V2I**YP M*/MVKAP(=T*RK#)6,\AH7M[)4^6($X/@\HQ!4!D$KPSZWAF#=F50>,XM9U9@ M?222C :<'8#KWDI-/Q2^*:P5#3*Y=.[]=R+9_W/GPI^H#,XF9T?VEWJ59 M3__RUV)+0APZZI\6R/?HC'[_Q>]Z?YB8_R>Q%^B7-?JE37UT1R1R2E)8(<\$ ML-B4@?!MA4\2)BD+'_\VN<,ZQGO=89^P#@E<35JP6'V^6<)L?KM8WHU7L\4< M%CFH!,%LK4+9KW)D24.5)1',6_!)\4B8;BC&W6K;*O>[QPZ7W&S"5*#F3\&NOU[GP/*]E"4NG#DO'2FD*PCABVV+) M50L,FJ)@EWSM&I/KK0H-,[%;(W??BWP!LSRB>QKM5(+.26:DMJN^CK^)VJK0 MD+I74_=^BGI%96K$MLN>R7(3O56H(7V_IN_;H[-+L?B5/OC?I[KZ&;_=IB0Q MKCAV7?>L)S;R&/ZBEEU-)4< X23@FBA_&>T)3LE;9,<[8SK@;3:K! MNL5@NOK;C]3!0ITK!N[^!?2;_4H<]Z0HR9 G1:TF(-3CE_5)_;:N!\=%%>0^ M=R^+R3O"$YH+2#%6IEZKI\X+O*S/RH9DVZ+$63.I"J;B<:-J6N2Z@_H>,R:/ M#3U 726/_@-02P,$% @ 8(A[6/M_^&>1!@ 5@\ !@ !X;"]W;W)K M^A((KJL2IM M.!T4,=;'XW'("JIT&+F:++XLG*]TQ-(OQZ'VI'/95)7CZ<'!VW&EC1V#R:![<6N61>07X[.36B_ICN)]?>.Q&O=: M%42Q.!^\'*J>%;LIXZU9_ M4!O/&]:7N3+(KUHEV<.C@?=-1G)]ZME&=I:.,'"55VPSEC.2EWT>.KP;YX=N4BJ8EZK:YT;#PIMU#7 M-7G-D(63<80)%AQGK;J+I&[Z"W63J?KJ;"R"NK0YY;L*QO"M=W#:.7@Q?5;C M)\I&ZG R5-.#Z>$S^@[[@ ]%W^$S 0<5G?ILK+:9T:6ZBSH2"BWN#3BI.]JO MCGOF.-0ZH],!FB*0?Z#!VER[[_ ML\_A9U7N=_@52N#J?'9_>ZFN/ZOKF\O;\]F7ZZL[]8V4A@-:+4LW!U2AJ>O2 MD&>7C+7N07-3*4 :E;:YJKW+* !?R@KK2K=3=3'YV'&SIQ()2RQZO"E>7ZM5M9B(9F'DQNM!?M &"3'!)I))7A8?"!"ZG[ MT=UHJ#YJJW.=75X1?7V())5\E6UUJN6@ 1&)@$R4Z+S&P6G@ XBYSR??" MNTILPKXID^P>JT/U.X&2[7JH[F!%0SU2_L2-WK7[T9\25\IFBFG>!#0&L-W8 M3M50EKLQSUTL5.XJ+L], S61,S:2MP(JOQ/U&OW0H,+XJP)M435'HS!M\<_1 M2)VS[H6HWU-84G85AHFI44B]_5CHJ%:$$@]F:8<[R6%/4F,PH;'>-#'((P>? M&N*W6ME&'(%EWN<\.F G0C'\@(G,[I3T0&5@X:7T(=0OC4U%5YE'_M!O7%'" MRW!AK15",B[G,N0@,# )8.4$H#"W@,I\O>OBRQ?OIY-W'Y0ERE-98R#WB7QJ M#.6>=Y:6:'K;V)C]07Z,ASPZD;]B'L M "*H/7 _H*O@0VX6"_AF@?*Z)@&G#P(TA?KX/WJY"1FJH64"]&5E@AQDZ+%F MJD(U,,F!@0&6:)00I-JEY'Z)@6;@X3+^=UZ(X!YL4J)WN&([JP(=N[X/N!9= M8-$!QR6PPY9=[;WB3$X//O!'>9Q\4/C*$6Q]::5;@=]:(DU\3F$3]-P[G2.F M?::&V]$+0J@7%6KB.6Y^(CZ9"A*IS"3ZT9B:^ZMW\GQVV;O J5EIY+:#F!.$ MZ=YEPKX4AADPK<$,2=*^TK S%Z :I8E=7!!:8I]U5/2!MQ>*'!% M>#0LT/^9NL?KVN2;T[P$\T=;@.BMERQ:$@71@ M!NNLUCHRKX6]_LB\P[#X%P!MZD*J?:M^N,!U.K,[J;W(0? 2<>>X4=C='F1- M<=?8<(M9GO:B8WKO3@,C=8WZ9BZVR8+T+MLT%NR7 PP?S$):DSNAW;;#?U"* M H#$3L:[XX8X@B-2/SG[EN.K0']8V1![O]&TY;QT6CYZ@K7.D9Q CD?1Y1+ M;>LL23!/C@C=>! X0 [0O$U33PNR'PV^FW[&=[_;$PG':3:VZ(_ B8?27-8 M1,8R2JX]AFTEH)\A_4ELB&$:E741#JS[OV[]]/^UQ>E@K2;MB7ZXLY)%=]@? MJ7TGZ/'670=Y6,J-CD\^(-MT[>G?]I?&\W17VHBG&^=78<$ UEY@Z\'HW9N! M\ND6EQ;1U7)S CUC^@-/-@ \ /DG 9 >&PO=V]R:W-H965TQ7-U>J%@]E4;G7._.Z7KS8VW/I7)72#+A72EWMO'G%SV[LFU>FJ0M=J1LK7%.6 MTJ[.5&&6KW=&._'!)SV;U_1@[\VKA9RI6U5_7MQ8?-MKJ62Z5)73IA)6Y:]W M3DN=X1V0JETU1?S++WU20YX#HI:9P M_%;,FP&!Z6N_+_R(>BAM^%X^,2&<=@P9K[]0IK&IQ MFJ:FJ6I=S<2-*72JE7NU5^-@VKZ7AD/._"'C)PX9C<5'4]5S)RZJ3&7K!/; M<48,3M1'O="6K5,M"W-:R M5G"_>JO GMS^=G(422_<0J;J]0Y"Q2E[KW;>_/+3Z'#X\AEF]UMF]Y^C_N9O M["/^:G%6F/3K?[?Q_BSU[;S_"A^Y_?SQX^FG/\7U.W%[^?[J\MWE^>G5 MG3@]/[_^?'5W>?5>W%Q_N#R_O+@59])I1ZYT0Q0J:)(CL,K$9Z?H^86K-4(* MS'Y2:2&=8WEHE8,G3IWZUF";N+@G_8LO2LSEO8+?9PI4!-8KY\@V1,LT5@"D M;-A.IV2J5A;1HC)1SV6-/\HJL:0_E1%P'E5.E6T=2(Q.!N*L<=C@G#@WY11> MX*G5CX&2N=5I#"_S^=FYLO4N: 4/W>,G>[344 M]$L2UN1#T&L]MTKQ>96I^\12(H8]FWH<"U,I_C#8\NZ1UA-Q!QWEID!B(+74 M!S'&0*%$B_M/^4 M5,ZR(ZN+MZ:9UGE3=,O)WHB3WV754$IH[349'[(_A(51@V *@95R+&304R[D M#.6 X[@3LCU,YO ]^BY*)2NO45@_Y&?VP*E2E5 /YNTK):U0E'JV>>%61"!C\BNB\\B9 M'_OW9"#>26W%'[)H&.&Z1')9$7AX)[H&5N7M&]U[HZNT:&"S]"D'2AABV#ZV M-6?OX4*NVB>V@:CJ 94;@#)AA$RA(EV+7%) U:L$!\(:<"0!X$00+.7".Q8'+! _R_+O'>3:^]3TEI-?D#G@M7E7* CY(R>MWY/6$Y%!]&Y,M=5$D\ /@_DQ'@3^8:K;[ 24IXA$T M&8@)<+^T3++J9V%_.*0CX??HQYD'^2/D#-!"7^??05 ^I4LB96\FV7 Z=J;V]_EC\@">[,G#DN99[G**'D MB$(G."H%VB)P@V1__;E=]ASGR[FJ%-!3*%];473/<8YB7YK&(BC5-FU*I#_& M=UUE5*6HMIK:M$ ;7EYUG; A3:,]<<.E<0DIPAR:=7:A59]\6"P# PTBU3(JWZER45M3Z32A'K64\2 \\32N M# 7=;1 P,BJHQ0E5XFDYM43UW%@@!'L1%=NCHY>N*\#]FK8(1QN4:IY":%8/ M5RM*LFG<"H4*B=SIXN+?U[]=G-[Q<1>GMW_REZBS <">L<09S>7?B4"/=4/>?UAHJ5"SQ$+YJ"+0I/1/=)VD!5 MF"TY7@BR*)!1N7+M$^G]B&I0>3;0#'E 5(TU4SA_ZG9I.!./()>(A&DK!V,+ MF#\J)]@6N&D/?5+Q<,!HB VK@(!&DMUVU./_A:9;7PA=PYRE$K MT[COG,=D@ Y?TZV_3-N7Y(0H81$2E+AC0\_IF!,<=(&<+A:-1?*@,07RD8U. M[I!E=+[R6G@ ^:T)!74 @X(I,GKG;/I/KR!&@F/83:<8LV!JV# M=_3('-M$Z3=NWR//G0D>7:M8;BW;DJA>JH(*&?\/P+GK?^34$ XMX_SF\;BK M:T+&A["_\T!W/67=RW9 M@'?H1*GX+TOM7)CH>2'1?!)';;M'P.-7H\1VIJI4(1CV: #H_Y)20DTHOGB\ MU'[ZE])ZGVJZN :Q3;!GE77A$1'8A8D@#]#JI6G[AEN @)]-'XC1$4ZBHATX MR:=VGTE2[IRZ5IGFK>@G+#[ZOVQ1[C"#;0'VN]2F/#G]N.EW&QW[K//!O2/):M:W17]%RY4E)6W6,T6L\$5-A-K 8=LD;_!$4[$-:0=PGZJ; MXL9)>L@FO00<6U&.3U14\[BF(K^O=D.2-^4"]*JN>UW/JL'BH>UT:B%I@E*L M&#EEENFH4N(RIC9"+DJ\48R,9CFE<>UT/_@.D63CY+F.A0V5EG-#U@]#'*VZ M6=HVOCM#,^)2;-*DP)>7OL,L2PH>M#*";C7AZN2KO>:[E@_A=.2 QOI$&6X" M&*RHJ)CZ6@%PFQ64YJ(C]MAL^QR#JG8!'0'[VASOW8-LMNE1/1?<2 (T?C-- MS1-J[YBFWGGKW8&WW-H[:)+$H76V%U,A"ZA5QS3Y,Z/ S]1 M2-[2./ TADXSRFTQ-ZXX]Q;MX[&.(S6TS MR/90+%%YKOA*FW,EDH&MGSB#5E,N>%"9?SCEZSGR2-GW_OYNT>Y.J#Y^//D, M\TXG)G[D.3K@G!ZFQ!^">5=\RB<5?)9OE\E080)*C>![2J/B'9 [WE/@E"TI MM>T:NG$M>/AD4@0--)6(*[44?QK[-2(3B>.:J=.9EA:]=&CK$Q]NVCO:1P#C M>#@ZY@RV/V"@W'I'4&^])]AR$9! 0O2^NV>,W.< 'K1JWF^/1L=BA#T7%?H< MI=HY3ZPIWBI8T_@LN[DFSC*RWAHND3;'B&@CT.3I8A4!#74(W>+TIP!3 ';. M@U0NLH+M>4#%S3F"*<_9\$MJ6V6C$#5W- M>AB_G1,;5%3ZZT4_L&?TRFE8E+3 #(#2)NMFG5FR]0IRR;_S((D0<7+6Y@LW MY^$XX)>+.3+;+@=:2N'W-[MXP-![LG;CMTXRTT73OQJ+!*N&-04.V\LRZK]H M-;4D80"@55L LW4"XG: +8N41CA!V'B8BII=<"=/'$Y5*BGM8I>V 8R0C4F6 M6N_& M%_B%^,RWW90D OF\?X7J*%S]>*I<%&:E5'AD%G[\,P$\'(R <\,#7O_>\.7_ MZ!!(C$*4V<77DUX8CP[B]:EO238NF'VMOX6K2^>:?\94CY,U0 F<3!X]V>=* MM7WJM^7Z7JUGAKA:;/LYSU[OYUAH1&?\HS/"6C#H?YG5/FU_UW;J?\[5+?<_ MBON(JA)%)I)?CJW#P='!CN]YXI?:+/C'7:C8T?7RQ[E"H6-I =[G!NX2OM ! M[:_]WOP/4$L#!!0 ( &"(>UC5G9[9N@0 .L+ 9 >&PO=V]R:W-H M965T#>\ESN]0FKV2L]8/O7.8G4>P)L>+,>02!SR.? ML5(>"#1^M)C18DGON-SNT"^"=F@9"\MG6OTN<1 <1Y3P1M7(W>OZ%6SU[ M'B_3RH9_FC>VZ7Y$66V=+EMG,"AEU7S%SS8.2PX'\2L.2>N0!-[-0H'E9^'$ MX-CH.1EO#33?"%*#-\C)RF_*R!G,2OBYP3?MF%+Z0!="&KH7JF:Z8F%KPPB] ML\<]AU6\;2]K$4\;Q.05Q'Y"5[IRA:7S*N?\WP ]T%MP3#J.I\E&Q,^<[5#: MWZ8D3M(->.E"CA?-D=V)C(^B5 7 MELTC1X-W;_K[\:<-9'<79'>__J?*PPS M?>5'5M1OOPE5VK7M%'XP8@)?Q!=-X4+_$9I$J$QI0V'EA':IRU #_7N=3O_T[-,PR;7)93=53!S+U"N'=&4$*FTQZQN,GJJU?NEL*CLNK M0!J\D5O6T22(LL[4(=$HP_!4&_DW<(#0AFN';CBKC?% K]0DW19>+A;TL 8P M9.=B1L(3#03G"'>8]\A(=,!GNJK:DW N74&Z-G0+RN2K89N$I1SI55NO:E(; M*/=LJ:F5A/HQR@^;B5KD8?!YOZS2A+7KWYB!)XD^A!Y,K8;*" MDJ2IXQ6/='L59'4(5A,2#9^M2=R(3="DOO(R:JYQ\*% M,,8E!>&6,2&JG+:4%&.II)-LWU/91#PGY-\2M'=$\G1;A,25]HB&I:X]/FS7 M;QK=V1<[^K)DNG(9NE71=(83%?X>"!MI90Y]041'^2E$N]__Y!.X5GJ*4GU+ M6_WM^#"E]VA^:'^+H:]>U?JVRY'\H2_=7E#5#:Y7M)0>M7='>_5[0C,3X7"[<% ^DU4-5XTU&EZBU8_/J1K\>13#'#9 M:RH-*Y#,_6WD28@,IY*5W7GUQX=1)AF+6*C[> AMP_P['@4A[G!Y%?8Y>&M* M?\U"SZ'=BV.Z+'$W!-ZH%KQK (%T!P_4DQ&556T!+;B WOY'L'L.R>I&-[OS MR_EO)8>[/@?^NX1D=P/_-&RJKYQU=WIOZ0%6LIF&9R9.>%\ZS5ML,;IXR0Z; M!]RS>?,,QBDYQ2V!ZVX"UWCGXUY$IGE:-AVG9^$Y-]8.C\/0+/ :9^,-,#_1 M.++;CE]@\;X?_ -02P,$% @ 8(A[6-_,GL!#!@ 0!( !D !X;"]W M;W)K&ULS5A=;]LV%/TK%UXQI( <2[(L6UD2P&G: M+%N:!DVV/@Q[8*1KFXM$NB05-_OUNY>R%:=Q'#3H@#Y(HB3RW(]S>4AI?Z'- MC9TA.OA2E=&;.S?=Z/9O/L!)V5\]1T9N)-I5P=&NF/3LW* H_J"I[<1BF MO4I(U3G<]\\NS.&^KETI%5X8L'55"7-WA*5>''2BSNK!1SF=.7[0.]R?BRE> MHOMC?F'HKM>B%+)"9:568'!RT!E'>T<)]_<=_I2XL&MMX$BNM;[AF]/BH!.R M0UAB[AA!T.46WV!9,A"Y\7F)V6E-\L#U]@K]G8^=8KD6%M_H\I,LW.R@,^I M@1-1E^ZC7OR*RW@&C)?KTOHS+)J^@T$'\MHZ72T'DP>55,U5?%GF86W *'QB M0+P<$'N_&T/>RV/AQ.&^T0LPW)O0N.%#]:/).:F8E$MGZ*VD<>[P7#N$!+IP MHG6QD&4)0A5PJIQ04WE=(HRM16?W>XZ,\9!>O@0^:H#C)X"C&-YKY686WJH" MBX< /?*R=35>N7H4;T4\QGP7^E$ <1CWM^#UV]#['J^_)70+3L,[J83*I2CA MT@F'5'*; V[@DLUP/'OV[%SD>-"AZ6'1W&+G\.>?HC3\98NS2>MLL@W]<#L] M<"QM7FI;&X2_KO"+@Z-2YS=_;XIBJYW-4>Q0A9Q\^'#\Z?3L#,;GQW!Z?C4^ M/SD].GL+X\O+MU>7\ EA)FX1W,P@WA<3<8;5-9J6-S[%<"1*RCA2V?TF5$UB M ,WK&%Y!' 5),H)Q\0]5O^>".2)G2DGUSWU%I6M^;##7AFH+I"*["!-=&S># MSP3HR*2>,&0$.Y8\\G7>9R3NF6ME=2D+8KN 24N_;>EG2$)K?.+I#U'8_?TU M)(,(3BO*CV-XTD2:]8KFJ3&H\CMP1BA;BD9OU@+8B;,$7J^%_75>8@X[#0]I[B\RV+K-%* MYG"%UI')?I#T4W_MIQE)P*VDU^POI?D*\YG2I9Y*FG]1,(J&R_.%T3E:^U6' M-$B& W^),KC2C-!&TL;VJDW@X[GQ[34X"I+X1RW!.'Q1!0ZS9PIPY)EZ 72< M/5-^A)R-X,V,>$&[RE23P57QY<*8.ZZ]6U'6Z,U+)1UV2UJS.;LMJ:(AE;SS M ^]0& O(2\Q+B([Z01RF/RK3+Z)CIT\:]1K&E39._MN\WXF#]%D%BL(@REY4 M7%$8/[(7/F.O*8R("N/J@?@X02Q;HD#?RH)><)9I5(%.2%K]KFECZ9/UN"2^ M2;9.C":A&>=Y7=6E9^9! .>T'7ZWM0+WX(W?G1$H58L?96=R;KFH2*K"(36R M(!WQ-26)"N]5[0[B8)21I)&BL?0EPQ%74I??4&=(LLP?7;C4 M$[<0M,3'P] ?7;@R@I*D1(40):$_NDN-?&8"Q6$P"B-:/$@U^TLF3FD:;1^V MUUBD_?N-7<[K[O+:6'ULB)0Y(_2,$],8\QD:9.F&&OR?:>E';'T89)1AKTM4 M"0]I&0P@&XUX/4J'6TF)_?']24G3D&=B,@S;"?G-K*19PTJ:;6CGW#/>ZUOTHBP-T"9 5IZ_VN*D+H''6/_]1!N. M1D'GPI%R*E:_Q4SF,_^05%;IBO81U^3"1#)JLT)LF.^4=/PRIYT'89+67C=2 M6U=8!$#+ XL4J:P1_&'6Y8TNVY;HF7#-!-O0J._ WPV'"-ZF_ MB5+_QBL@S29J\CYMT$_\&B,-+QX,_-6WS:K:X4Q.<,-^[D/N-(M&J^\!] ?A MVH)_7!L?-OD[74'+>XN<1&M]DPBXUI20-:BVN?O$TX>^GVDU[9[Y";%TCX-X MH%&/(U@#YAI3&C9](?;6ONI)SZ;^WP5OW&D_TGS@MT_;WR/CYJ_ ???FW\I[ M8:9262AQ0D/#W>&@ Z;Y7]'<.#WW_P@H&R2>OCE#DA3#'>C]1-.69GG#!MJ? M1H?_ 5!+ P04 " !@B'M83UE=QA12=KJ4JN::DV;KU3R'.K5!9NX'F)6W)1.>.AW7M2XZ%L="$J M?%)0-V7)U><-%G(_6;6=SE(\+I_(@^L[Z3+RM>XT06KR+7VY&3.I#CFC>%GLO]-SSX$QN\3!:U'6'? MRD9]![*FUK(\*!.#4E3MEW\L&H29DB5,9*45!:R&5Z&W,+$\ M4-5#5Y--H^EF!_R;%C_X";X?P#V!;6N85CGF_P5PB6S'.#@RO@DN(MYB=@6A MSR#P@O "7MA%(+1XX84(U* ES$3%JTSP A:::Z3*TV<=;N&B\W"FB0;UCF?Y?J$3FTY?IP_,49O/'>Y@\/BSGUY/E E[OEM]@\KQ8/MY/YPM8;HF< M+*C71;4!S5<%!7>GY+O($7B>"].+%&)1M1>*[UA6A]2\[ M%B$CY:QHU=IW"BNI7)O M1:V56#4TA[#'^EX,8<#"Q",-/PA9Z 5FYBBSRC2GU M+C)TI29&X'NL%P7F$R?)_SG<)F=@V9)$$K,>,:1)RB)*QAWQ-Z$D+_V(A;YG M8+TPA6N*;2G-#0]??I3'U%S^2F3P@EN142G^3AZE_=ARZB7PIU@C+#*!%04, M(I;&"8UQVH=;7-/+@RY')6T[$&T6ASWRD)X[HI7?/W0/NR15.%;:Q#U5-/=!4NKW-N]WN+;QNGX ?XNU#>L\59;"& M M>DZEWU8@=4^SBU"RUW]D%824U!L],MO>>HC "=KR4UQ&%A#'1_".-_ 5!+ M P04 " !@B'M8EO/YLU<" X!0 &0 'AL+W=O8M^/[_-W\9V'6](;4R!:V)52F1$KK*TNH\AD!9;E5PHE@Z#[UZG0ZJM% KO-9BZ++E^'J.D M[8CUV(MC+M:%]8XH'59\C0NTC]6]=E;4L>2B1&4$*="X&K&KWN5XX/-#PC>! M6[.W!U_)DFCCC=M\Q&(O""5FUC-PMSSA!*7T1$[&[Y:3=4=ZX/[^A?TFU.YJ M67*#$Y+?16Z+$;M@D..*U]+.:?L9VWK./%]&TH0O;)O<09]!5AM+90MV"DJA MFI7OVO^P![B(7P$D+2 )NIN#@LHIMSP=:MJ"]MF.S6]"J0'MQ GE+V5AM8L* MA[/I5[((Y_ !9OP7:9B$$U&;860=N\^)LI9IW# EKS#U$IB1LH6!:Y5C_B]! MY&1UVI(7;>/D*.,4LU/H]TX@B9/^$;Y^5VL_\/6/U&K $MP(Q54FN(2%Y19= MC]F#!3=T@\-T?EPN3<4S'#$W#P;U$[+TW9O>>?SIB-A!)W9PC#V=D,J<+LU# M\\Z%V]WL6G$= M9M9 1K6R36-WWNY9N&JFX6]Z\Z;,N%X+94#BRD'CTX]G#'0SIXUAJ0JSL23K M^CYL"_>TH?8)+KXBUS.MX0_H'LOT#U!+ P04 " !@B'M8N1N2-IL" "/ M!0 &0 'AL+W=O2RPJ5E5J!P=7$NPC/IWT7WP0\2-S:/1M<)DNMGYPSRR=>X 1AB1DY M!L'+,UYB63HBEO%WQ^EU5SK@OOW&_KW)G7-9"HN7NGR4.143+_$@QY78E#37 MVQ^XRV?@^#)=VN8+VS8V[GN0;2SI:@=F!954[2I>=O]A#Y $'P"B'2!J=+<7 M-2JO!(ET;/06C(MF-F5*\J"#)]*QE%ZJPGA#+["3#VC(FTDVK%/ MS.S._6S',FU9H@]8P@ANM*+"PK7*,?^?P&=)G:[H3=(5KJ3-2FTW!N'W/;X03$N=/?TY)/@HY6'! M7[CRL]N'Z]O[G_/9]6+_#4"!90Z"@ N!U1(-%Z.IA?M$,!=;?H6$AG^DA1,( M![U1/W'&L)%T52@L3!* M8#!R59+\J'-8:YU;!TP"B'MA,H1[35P\N2?UA#7U@F3DC(@O&L"A&OA[35*A M63>CP+*&C:*V7[K=;MI;GN'/U@-U#L;N00 M *@, 9 >&PO=V]R:W-H965TW M*U+ L?5FQTD3 \X;UB%M@SAM,0S[P$AGBXA$JB25E_WZW5&RXR2.FVV?!A@4 M2=T]?.[N(47OWVIS;7-$!W=EH>Q!)W>NVNOW;9IC*6Q/5ZCHS4R;4C@:FGG? M5@9%YIW*HA\%P;!?"JDZXWT_=V[&^[IVA51X;L#692G,_2$6^O:@$W86$Q=R MGCN>Z(_W*S''*;JOU;FA47^)DLD2E95:@<'906<2[ATF;.\-ODF\M2M]X$BN MM+[FP62[+C:7Z"?^M@IEBMA\4@7 MWV7F\H/.J ,9SD1=N M]^RNV\0P8+]6%]2W<-K8Q&:>U=;ILG8E!*57S%'=M M'E8<1L$+#E'K$'G>S4*>Y;%P8KQO]"T8MB8T[OA0O3>1DXJ+,G6&WDKR<^// MVB&,8!O.D&*S^WU'H/RJG[8 APU ] ) &,$GK5QNX41EF#T&Z!.;):5H0>DP MVHAXC&D/XK +41#%&_#B98BQQXLWA&C!:3B52JA4B@*F3C@D:;FU 3=PR7HX MWB5[MA(I'G1H&U@T-]@9OWL3#H,/&\@F2[+))O3Q&5J+V(4O%1KAI)JWA8$_ M+O'.P6&AT^L_UY'>"+N>]!85_NQD,CV9PL0"S=](7=OB'C)I27H6,Y *O$*B M+HR2J$4(6PO$*SK!(W9/(["M/JX 6;E;@*C@M2;1V\A; [V W\,TX" MF.;:N&V'IGQB%5,S"N$R1YCI@@X4!I(61)9)WN146JF:D\IO^2LZAD#7IH$A M._>R#'#"QL41+N.;+W$/1B%M(./;[[_4Z!BAN*B/S7 M.:_Z)NN<.-.Z5@XH*4@FPU_@DW"UH6B(+E%JL HIKF313*Z+@9N$W7E"HU#32)0#_1_:.*$OF55 CZ M$3]+WQ5.DDA_U-+*ASB9)-YA6B_2J.C;UP2Q]_3<@+.5=7B-2;/&(E<<_TRD M;'&_2,2[-Z,H##_0/KZ11JLVC9>8YDH7>LY(;\'O5FI6@41-7RM-R^%3J'.C M4Y;0$Y X:)K_!)*$3?.:D*2Z/)E>PO2$\B %^PT&;7MRY]JK!F7TL?_/&(3Q ML&V/:>=2ZKE"+C=(*A4FS9?:Z()6^&#$!K_5-!,':]\O0)YIS+=)%^@HWB#% MZ/\AQ=> M(1VZ3?NHZ(]40=]-.KLGE9$%+ KWR"#I/9?$%"O7%CM8H/Q4-V2S[H;27[D] MEFCF_HYLP7^7FHOD]THXJYKLY_95 PP;T?J;IMM$.>('EGY/QWU!+ P04 " !@B'M8F=%D MO-(" Z!@ &0 'AL+W=O;S<*!>^L&UB.Q'D&T>F;)*902EUO8KGYG?XGX2T24@# M[_JBP/)"D!@/K=F"]=&,YC=!:LAF]%O?G')\))LKDC[_VB3U(9[_8C_R&;N=7 MES,X?YC-+F_F<#T]FTROI_/IY7U#*V^N5SOT! '7%LL%^[,DE-=_TE;B5E@K M-+W >^AW!_Y[DK5.$L^,T3N!0=:*JXP-[6Z6OCF1C06L/ 14UN2(!2?T(!NT M(%(3L@Z"7@K]9!].SH]9ZI6W\M;) JT(OD^0I=U&7;__F5%[,#?$K\F\J?@] M)$?=01+67K\+^QY(O-//)=I5F%H.PC.H6[NUMH/QK)X'?\/KJ?I-V)74#A0N M.;5S?-*+P-:3JCZ0J<)T6!CB61.V:Q[N:'T ^Y>&>Z4Y^ O:OXOQ'U!+ P04 M " !@B'M8&V/--Z\$ "B"@ &0 'AL+W=O]\Q@K?2+62):>"V$-,-@:6UY$44F6V+!3$>5*.EF MKG3!+&WU(C*E1I9[ID)$:1R?1 7C,A@-_-FC'@U49067^*C!5$7!]-L8A5H/ M@R38'#SQQ=*Z@V@T*-D"IVA_E8^:=E&+DO,"I>%*@L;Y,+A*+L8]1^\)_N*X M-CMK<)K,E'IQFQ_Y,(B=0"@PLPZ!T=\*KU$(!T1B_-=@!NV3CG%WO4&_\[J3 M+C-F\%J)OWENE\/@+( PSAK1A2+W<]4->RAMFV6B@U1JTHR8TM_"J>FX2CDOGE*G5 M=,N)SXY^*HN0Q' ,-SBS@\@2IKN)LH9_7/.GG_ G*4R4M$L#MS+'_'> B(1I M)4HW$HW3@X@WF'6@FX20QFGW %ZWU;#K\;H'-#1@%=QQR63&F8"I918ILJS9 MIW -U]L/YY+DPI0LPV% 66!0KS 8??N2G,27!X3MM<+V#J&/G!/@AIM,*%-I MA'^>\=7"6*CLY=]]LAY$VR_KD7/WS>WX&>[16M0&U!RN->;<0C<&J2PHB10. M&18SU*TK/IRDT;/&B^(,L+3_W#F(JPR?QP^UIRS7QJ M[MTW<=#^3VP'[AD9183P\T_H1NDYE1[2I1=U8UJEOI1>EJS)6G436J^G25Q>,XDWGP_Z"/A(;/*&2+I>T,D<-0>I6?U4;AC MKGAS]+PD2RDFX6JAT0<@<)F)BA('&'Q-^V$<.P_(8XTK)59<+JC""/9&][EF M:R ;%\Y#"$>6L+Y].4O3^/+9G;HP]_OD\CLPZ0&3V -NP;):E_E&EUV4IY9J MHVH#Y]&L6B 1:RI/=@F.K7TUA!V4=];:2-3QNK\WY9(Y,>=4EM^;](1 U\K9 M>HJEK>V8UG9,0ZI_;WOB4E"1:50_VXD:C^9KJ@0<4E.1&-]+\DIU3R=P8PB MF[8KU-(U$K**KU8DA';90.T7?G6F'5AX$A\[GHE;3JA'C?FG#W=/;100"Z-G MY,LQM2DJ#;E_L\8K165(<&!E*7C&9@+)JIH2-:2(HXZ?NY=).('T''7G#MRR M;%E'X3[UUEP(\B=YDD!5Z=/8R5SYFH#D MFTN(=XF249>A&<,T39$&B$WS):>H%7=3@@F;?'+"SRKK7>U^22?>_'?VA<1. M3F\3F%J;KW)4*^H0E5O6]'P/E7MA#_B$:;)W516"N!$U#3DKK36_0&F>N M)K4TNG'*7=/8L7$QF5$HN3CV-2"G/G'A :E*]4)7IVC3WRY/H!N>]5)7P](P MIL6^YA3MS T%ZH6?CLC"+I3K$:(];0>PJWKNV)+7T]O$!X^A>)D3:]PY[0>@ MZXFHWEA5^BEDIBRYSR^7-$2B=@1T/U<41LW&/=".I:/_ 5!+ P04 " !@ MB'M89J3O_\4& "H#P &0 'AL+W=OGID1SS;:?+,K*1T]KNO&G@]6SK6GDXDM5G(M[%BW MLL&;2INU<)B:^XEMC12E/[2N)TD4Y9.U4,W@XLRO?3$79[ISM6KD%T.V6Z^% M>;J2M=Z<#^+!;N%7=;]RO#"Y.&O%O;R5[K?VB\%LTJ.4:BT;JW1#1E;G@\OX M]"KC_7[#[TIN[,&8V)*EUM]X\K$\'T2LD*QEX1A!X/$@KV5=,Q#4^&.+.>A% M\L'#\0[]@[<=MBR%E=>Z_JI*MSH?S =4RDITM?M5;_XNM_9,&:_0M?6_M E[ MT^F BLXZO=X>A@9KU82G>-SZX># /'KA0+(]D'B]@R"OY3OAQ,69T1LRO!MH M//"F^M-03C4 M^HJEEIRF#ZH13:%$3;=.. F&N:,&![CL.!PGRZEM12'/!\@&*\V#'%S\_%.< M1[^\HFS6*YN]AGZQ#P:]4[:HM>V,I'_?R4='5[4NOOWGF,:O8A[7>,C!_WAS M_?G3>[J[_.?[6_HJ24"6[9;_1>9XA\E2&KA+-"45TCBD.EEV':F@IF/.C,$@ M$F6I.-M&M DP_*K$OOX@Z@@R!7/=-'0TBW+_S.?97M-# G"-KCUE5I(:]!./ M4%6\I"N_@EYBA%/-/8'1UA.*-Q6 4HX*8L%:Z(*-68JEJ$%-RY U5?04P$L!>H;8S MK;9RJQ0@ Y*ESL)./K6WM=\\ICOL#&1B$(7CN_[&.C".A>=5I0H!M0#0ZH8+ M#K_5G>$&$CS)L"^H+$!$6GKZPOH_/'O64KD6K$''U/ZQS_@M3 MK+RL4CZ@.;=<"*&AA0;,S#2)?+R3/*+/^[A)M,!GVLVG"^R*DRE=%H7I /X@ M"N%;;BN>O !TL>+;"3?/TKL G H;LC2E+.=$?8!PS>6 TL64U_NB4]65I:QZR)LOIDJ,&'D@? MW5)W2U=UX%M1A,#SKK0W"J0T".$3\I>FF:_,1VE[0O,%?4;@#>4)9B'+LM%L M,<-O'"WH=U%WP7S1:S!D93DS$T[%(^'#V2GR/AW-Y]^%]R 6IT>9 N/ M#>DQ!O[#ZT17)V!VOVN6& MZ9QU#S:?0& 2?6_#(5^&Z2B.O;'IB./\UL?S6!XP^[)TQFR<1S[3N(84*UC( MK<=GU\,19W(X^=V3K^W2U_87$J71SO^C(D9CN@1*(^HGJ^PN>T/]PH>C5\PP MR?X/^./=Y3VJ:N&>5<^^TB+7?QO?CGT)[Y 13T'F/B&Y[\1<< MS5O.X.>Y.TP3IM5L1G^K]1(<5WON(1)]Y_4YW2CV1,=_,F;MB9;2F+^ M"-GU7';K05< 87;:,_MVA8OID_NVQ?7CH ?RR:5L9*7<*/2>3)9]=XQ)\9SB@_9]$"\?E<-NQ)D=9S.ZW5XWDFG4NQW2P:#RT$-;J*T[ MV)W)S&?@%/)VR83A,)[]M9;,'U^A>[>=ZKT%L+PR]MK M5*D6OINAN'(V'&?SR+_#YV&E8(!GZ:%#I.M,$YK7&E4H[EER6:%VTFBPN)U%Y\/)?.SS0\(/B8W;FX-W M0?#PB M4RA.QC#\=9]1OZ8'[\Q?VR^"=O=P+APNC?LJG$60[1Z;JP*R@DKH=Q5-W#GN T]$K@*0#)$%WNU%0 M>2%(I%-K&K ^F]G\)%@-:!8GM;^4#5G^*QE'Z9TAA&$"'^ &"Z%@94V&F$M= MN&E,O(%/B[..;-Z2):^0,<^MT50Z6.H<\_\)8E;6RTM>Y,V3HXP7F)W :/@> MDD$R.L(WZNV. M_HB%T'9.!2:J$SR8XW) BYS.B@X99N?)C.=\S$U2+#6<0M MX= ^8I2^?3,\&WP^(G;13->%)NE.6EYWS4R,;R/-34:LB+_E 4E5/ITR^7/!"+,XZ M;F?9P.)67>%DN537E:Y*$GRT5FG[YY*DH*O.D1;,V"#N4UI42 MTU89'DSSLOEGSVT>-A02YQL*7JO@&;\;0\;+*Z;8^:D4"Y)Z-=#TP(1JM.%< M7NJB#)7$VQQZZOQ6*$ZN3\=X_@$\?Q6Z M;_#\ Z%7I 1]R$M6ICDKD .F."BGJGT!-W#!?CB]>TZJ&4OY60?;H^)RSCOG M;]^XD?/^@+/!RMG@$/KY<,(D/[XPU1FP%^TC]:5DY=CX2W\_\&=%%P5J^,\^ MWP^B[_?]2/-B^'!W^#Z]MA_^'3W2T-_NS?4K\B,2(4AD\? MN5P5QZ+?ZY*3MYKJ)[U]DWB>\]Z,/<<-U@*,;T4C6[]]-<+CKI94EW->*:0! MCBJ9IWI8:>X26S"95<3*I4#,-($AD1S;/Q5UJ1>CDU%#LJ+E-?;4OMH<)5HD"[2POQZ388\';GI;_IPF%U^GF_N'/>LQIP>%R M*B1V V6UU,K+R#SZBS/9;I4-Z:6HE,ZPY'->U@#_A5PGP#/R:(A.IC&6\(%+ MO@>$,6K+#;I.Q$R*K$X1&Q *,3-<66JX/0I=^LA++L%]O9IE:#$YTLITKUPO MM)+$QS,*/-CV+">(M2=6G,0Z&\CN@E54BOUQIVR6*U8@.1GEY3HZNVDY=-=6 M"128LA=2O$1Z46B3YU4U3-FVRVJJMB^9Z]%]7CT=CR3GL*RX9@Q)767?[OGT M*WFV$^+O*I_G&4?\+SDO,G)LQX&T_;M&&(9D"&Z*L!H?4.TG?#)G(""GN2@0 MV%S4-G M80;^5;H!@$,[>!L)>@665U6]+ST_0&#SL=3Q2([0 ((VN0VNRZ%7JH5XO4E. MZ+8V@E7\RR+C7% I4 V6T2586>,D0(V61X&36$G4 [=ZMA/3Q[:^>&>%@4.) M'80H!Y=IKG?O46(YD4/O*+#C@"[1PO&MA]CSK)ZOY3W;=?8;WG78(S2[* ;- M(PH3QPJP-1*[YZYZ; M;:4FK:'UQ-]7@E$NFUVT8;&W='+38"NTMP&A561.6LT=9"5=W>#Z MS<5EO;RY_L%EG%PJ*O@(JHX=X\(DFRM5,U%B9JXQCT+A4F2&$]Q"N=0+\'XD M<)YO)]K ZEY[_C]02P,$% @ 8(A[6(NAO>50 @ (P4 !D !X;"]W M;W)K&UL?511;]HP$/XKITR:]L!("+2K.H@$M%6G MKBV"=GN8]F"2@T0X=F8?I?WW.SLA8Q+E)?:=[SY_7^[.PYTV&YLC$KR64ME1 MD!-5EV%HTQQ+8;NZ0L4G*VU*06R:=6@K@R+S2:4,XR@Z#TM1J" 9>M_,)$.] M)5DHG!FPV[(4YFV"4N]&02_8.^;%.B?G")-A)=:X0'JN9H:ML$7)BA*5+;0" M@ZM1,.Y=3@8NW@?\*'!G#_;@E"RUWCCC6S8*(D<():;D$ 0O+SA%*1T0T_C3 M8 ;ME2[Q<+]'O_':6#A(OHG82X28@][_HBS_)*D$B&1N_ N&A& M90\:$+H#> S+$BG&YACM35ISCIA)H6RPY#X%A<; MI@WBI$:,WT'LQ7"O%>46KE6&V?\ (=-K.<9[CI/X).(5IEWH]SH01W'_!%Z_ MU=SW>/T3FBV0AIM""9460K)X0G*T+/#K"5\))I+/?A]C?!+S..-/K@T63X_3.YA?SY[G MT]OQXAIFW\AP&[X=NN-!%Y0F[^:2U>Y]V3IP[%^$ M!XU;HEG[\;20ZJVBNH=;;_L"C.O&_Q=>/Q_WPJP+94'BBE.C[A<>.%./9&V0 MKOP8+#7Q4/EMSJ\8&A? YRO-;=$8[H+V74S^ E!+ P04 " !@B'M8+_LJ M-#P# #^!@ &0 'AL+W=O[_^*-GQ.ESF M+XE(D0\?4B0].RK]8$I$"T^5D&8>E-;65V%HLA(K9L:J1DDW!Z4K9DG416AJ MC2SW3I4(DRAZ%U:,RV Q\[I4+V:JL8)+3#68IJJ8?EZA4,=Y$ )@'R_AJ-77VWN!OCD?SX@PND[U2#T[X M(Y\'D2.$ C/K$!C]/>(:A7! 1.-[AQGT(9WCR_,)_;W/G7+9,X-K)?[AN2WG MP64 .1Y8(^R].G[ +I\+AY>0>-YM(,_RAEFVF&EU!.VL"F\AQZ1YE:S7=01,ED &_29S[Q>).!S U8!>^Y9#+C3%#F MS")UG#7G$F[AIN?AW/!T8[AI MM/-Q^F=D&M"-+=#08>7J>AJ\T?]4R0C.-7CX8B=5J N_>0U5H9&V74^]ME_N MRW:G_3!OOPRW3!=<&A!X(-=H_/M% +K=MJU@5>TWW%Y9VI?^6-('"K4SH/N# MHEGO!!>@_^0M_@-02P,$% @ 8(A[6+0$#IKK @ 1 8 !D !X;"]W M;W)K&UL?55M;]HP$/XKITR:]H$U+]"NZ@ )6M J MM1TJ;-4T[8-)+L2J8V>V4\J_W]D)&=487XC/=_?<^8[A5^MD4B!9>2R'- M*"BLK:["T*0%ELR MJMH*+G&AP=1ER?1NBD)M1T$<["\>^::P[B(<#RNVP27:;]5"DQ1V*!DO41JN M)&C,1\$DOIH.G+TW^,YQ:P[.X#)9*_7LA-ML%$2.$ I,K4-@]'G!:Q3" 1&- MWRUFT(5TCH?G/?K>&:+47 90(8YJX5]5-LOV.9S[O!2)8S_ MA6UCV^\'D-;&JK)U)@8EE\V7O;9U.'"XC/[CD+0.B>?=!/(L;YAEXZ%66]#. MFM#S5?UWZL!E$,2ZRH>FO4 MT(^:+O5@8D#E0*UK%?%>$5]"KFH-"\V5=EVP!4*)>D-66VX++W.YFBU7_@GV M@ D!%=((2E<%;-^IQY^4:TT3#5O4Y%26F'%JI-@!"K[A:X$N0,6TY2FO2$/ M'G_OYP) 75$>#:RO,Y-9 ]B!T/+;Q]4T?38MN-R\J8,!EEM2IHK,J&6D-OP5 MYBY%BK=#I@V@&XA_:^)^DAX<>RSAP63[&KG]92A*+6TSY-UMMR(GS6;X:][L MUWNF-YQX"LS)-3K[=!Z ;G96(UA5^3VQ5I:VCC\6M.91.P/2YXKFIA5<@.Z/ M8_P'4$L#!!0 ( &"(>U@EM/XA"P4 #\+ 9 >&PO=V]R:W-H965T MD+@KAF$? M&.EL$9%$E:3M=+]^1\KVW,UQOX@4Q7ONN5?=V5KI%U,C6GAMF\Z/0!Z\(< W MSS'A1YEN^%%=,SK=:@ MW6U"#ZBHC"H5SB: M_O)3F :_'2$;[\C&Q]"GVY@\8J^TE=T"WDM3-LHL-<*?,WRU<-FH\N6O0\2/ M0A\F?N)2X>GZX^WUW0QN[C[S&[N[^ +0BU6"+;6Z)Y25W"_U)2)'96N MYVA1M QD5S;+RC%5]/GJ^A[6M0)I0#1>UQ#G<]ZC%8!&6TI?XK7A!#<*X MHB*R%2PIA31\'C^-X>/%Q0,#7(EF*7S\:@1"\)G:E0AJ[K'5#M4,GC/0:TG= M1C;?@%00.]4BS+5JH9(KKY<28".F.D-L95E3M_$^ !IZ1M.$6PHI7 MP%=JC09!=!7MG=W$3'862=9NOS)01%9OY4XVQ^\8E$I35,F<[57CD43Y=2DU MF4](HEO(YX8TM"[\?WN.8_B#.&T*S%>%>W#*D15V2SR%:]?QM.ID"3-'Y&>( M0Q:$J=L$C(<%B:XD77 .(NMG6-:=:M1"$H,H8'D0NB7,.#QH5:(QWU])0A;G M"<0IBZ,,9LIA;)23BI!'+ JXVX4IRWE.*3LX>B\Z@S,.40U)<5[0IF!%%!YE MRH(LHF=.*7N09\&2.(:<\2C8L*S>8@*NJK!])K1MZQR2Y*8B3\JY%)ZL,6C-H2A$G"5!XC8AH47'PD!! MSL@O84[Z@S<2AO(@YGY)TSWG\IQE80 Q)6?FF$@_]*B=[0TV+>N%'-T-=<]G98;[9G>ZFPXMA*/KW^C!:W@J]D-3< M&YR3:##.DA'H85P;7JSJ_8CTK"P-7'Y;TX2+VEV@[W-%4\/FQ2G8S9!/6! 60L !D !X;"]W;W)K&ULI59M;]0X$/XKHW!"G!0:V[$=!]J5MB_<58(";3F$3ORP5'!\2CY.9Q\_,/$Z\?VOL9[?0VL-=U_;N(%EXOWR1 M9:Y>Z*YR>V:I>WPS-[:K/$[M=>:65E>S&-2U&2-$9EW5],ED/SY[9R?[9N7; MIM?O++A5UU7V_E"WYO8@HG!ZOE!,J4O#GGPCPY_-?K6;=D0,KDRYG.8G,X.$A((Z5;7/B!4.-SH(]VV M 0AI?!DQD\V2(7#;7J._BKEC+E>5TT>F_=C,_.(@40G,]+Q:M?[3V#5TU?]753M1#PX=F'OEK-&GSS^W[FD4" R>IQL<-A,?:=Q2B#-Z;W"P\_)%R./!F*^T+CW5 M&7JW*^$!CN^&"SOJA5M6M3Y(<,LX;6]T,GGZA$KR\A&R?$.6/X8^^=JQKVQ/ M^V&C!L7_?:GO/!RVIO[\SR[NCZ+OYOXL:.7]A^GYYL%K[ M0[TMP"^;+.>;+)NM+-$"7=4+,'/PN$[<%^B)0PE"IF6AX*2R/1;;P97&"FDL&::HL?9W MH._PD^XT('#)PUT*8&D1F*9"2J T)5RAE+Z)$$6!%P/.@Q=%_X)(.,-_AUXO MQU)%BP!7YGAG&$!3+@24:<[90UVJ3%WLL?D M,(@XQ%KAP.*@&'R,S<;25]A2_(<\@,/.K;SS53\+HGN(34E:"($YER%;QFE* M51Y,I61*B AF*5DJB^C )<5:E3](?]:TJT!JBSGC.Q) [/^1P!H]=$FI5$H> M3%E*[%T91,#PRFG4 V4L)65,H2A*%!O;K5DV:I:-FF5KS;)O-,LX+AL56J:B MH(-FB\% 9*0+Z4R54R-FL6?_35N[\"78HWS5*"X<%"E"M(M$4WD*%WR(YJ5 M(FA5% 1U2_(2[PKCL9V4BUV*Q9W !0=!!<@\:%'BKGK0QJ!IK!25 9>%_< X M!Q5Z_M-R)6.WR7;3<_(+W=[(5=("=U-,56*YF%31+$6J9!'US 2*@<6G!18' M%?#S.+($PT)4=%D&"63*6,D>$I^N8*=OTF MLZWC3J?M=3S4.>2RZOUP\MD\W9P;I\-QZ:O[<.A\$[7IH-5S#,4<10)V.,@- M$V^6\?!T93P>Q:*YP+.OML$!W\\-GAC&25A@_ M02P,$% @ 8(A[ M6-'3 !P1 P @@8 !D !X;"]W;W)K&UL?55M M;^(X$/XKHZRTVI,X\@*[VQ= XB7516JAVT!/I]-],&$@5AV;V@[I_?L;)S3M M[E&DR+''\SSSC)V9#"JEGTR.:.&E$-(,O=S:_97OFRS'@IFNVJ.DG:W2!;.T MU#O?[#6R30TJA!\%P3>_8%QZHT%MN]>C@2JMX!+O-9BR*)C^=X)"54,O]%X- M#WR76V?P1X,]VV&*=K6_U[3R6Y8-+U :KB1HW Z]<7@UZ3O_VN&18V7>S<%E MLE;JR2V2S= +G" 4F%G'P.AUP"D*X8A(QO.1TVM#.N#[^2O[39T[Y;)F!J=* M_,DW-A]Z%QYL<,M*81]4]0<>\_GJ^#(E3#U"U?CV*&)6&JN*(YC6!9?-F[T< MS^$=X"+X ! = 5&MNPE4JYPQRT8#K2K0SIO8W*1.M4:3."[=I:16TRXGG!W- ME44(+^%W2,NUP><2I87X0*,9^)8".#<_.Y)-&K+H [(P@CLE;6X@EAO<_$S@ MD[)67O0J;Q*=99QAUH5>V($HB'IG^'IMNKV:KW_CFE]BS?:;5?W.VGJTD:_UC%\R7$CS2F,)[^6"5ILDP6Q/GGXXH"?/UU$47!]6^^-7_=J:WC]VUL UXE0@ZJD&[U+V)KF]H/F4.S!7 MA\9TV5BZSM'F)!HDW=L)3!>DLA#>=:#G?'\.!:>^-_]=7Z CV]7=S]"ME=(V M+:*UM@UVW/25-_>F.U.T'9>&;FY+T*#[_:L'NNEXS<*J?=UEULI2SZJG.?TD M4#L'VM\J*KWCP@5H?SNC_P!02P,$% @ 8(A[6._?JG!. P (P< !D M !X;"]W;W)K&ULC55M;]LX#/XKA.]PZ("VCNTD M?;DD@//2+4"7=GG9,!SN@V(SB5!9RB2Y:?_]47+B=7=9;@@B4Q+Y\"%%49V= MTD]F@VCAI1#2=(.-M=O;,#39!@MF+M46)>VLE"Z8I:E>AV:KD>7>J!!AW&BT MPX)Q&?0Z?NU1]SJJM()+?-1@RJ)@^K6/0NVZ010<%J9\O;%N(>QUMFR-,[2+ M[:.F65BCY+Q :;B2H''5#=+HMM]T^E[A,\>=>2.#BV2IU).;C/-NT'"$4&!F M'0*CSS,.4 @'1#2^[3&#VJ4S?"L?T.]\[!3+DAD<*/&%YW;3#:X#R''%2F&G M:OTY-29AMG>0;]R$/_$013#1R7MQL!(YIC_"! 2VYIR M?*#-P[A;=FBW+L!O0-3&HGS'H_?%;U&[\>8)LLR;;/(7>FXT&<#BS;T :O7_1PA#;C*A3*D1_IKCBX6^4-G3W\*1S.0P>IH\/ MTW0^?IC ;/!A-%S=.F\8+^9]$-O#O(B1>;5TWXPK1FTK["/E/0ODH@:46D<]4FK0OZ MM9O7IWC$O\ CCA(:6TZZCO[%@BC^AT4KB8A>0CI1R[,XBQP;1^X,(DI03CUN M:4D_4\^H.=T4+BF[")8MJ>+8DI:)"4AECR3.L?9B!,>*/WS3N K4:]^>#?AH MJAY6K]8O0%HUON_JU?/QD>DUIZ,5N"+3QN55*P!=M>1J8M76M\&ELM14O;BA M5PRU4Z#]E:(^L)\X!_6[V/L'4$L#!!0 ( &"(>UA;C[_.&Q$ * U 9 M >&PO=V]R:W-H965TR8U=>M^@$A(P@U): #2LN;7[^D&^-##M)3[(8Y$ HU& M/T\WH#=+8[^[N5*E>,JSPKT]FI?EXM7)B4OF*I=N8!:JP)NIL;DL\=7.3MS" M*IGRI#P[&0V'YR>YU,71NS?\[(M]]\949:8+]<4*5^6YM*OW*C/+MT?Q4?W@ MJY[-2WIP\N[-0L[4O2I_6WRQ^';24$EUK@JG32&LFKX]NHY?O1^=T@0>\;M6 M2]?Y+&@K$V.^TY>[].W1D#A2F4I*(B'QWZ.Z45E&E,#'GX'H4;,F3>Q^KJG_ MQ)O'9B;2J1N3?=-I.7][='DD4C65559^-D ME?O2XJW&O/+=O9X5>JH3693B.DE,592ZF(DO)M.)5D[\L_[TKSTQX]0SL>B5]-4CFMOWHUZ*'U0R$.,X$J/A:-Q# M;]SL?LSTQL_0V[7C_[F>N-+"6OYWUXX]O=/=],B%7KF%3-3;(_B(4_91';W[ MQ]_B\^'K'FY/&VY/^ZB_>R^==N+S5'PAVD4IV:ZOBU3\YA0]OW6EAJ'2)G@[ M*_&@GDKQ/C/)]YV[V6<]L[&>#.N9SGH]FSMK-G?6N]A7E632.;9%6B<2-R9? M2"LG.M/E2ERG_P=O0#PH]]W<8>OU[>&\V<-Y+\W[:N+4GQ7Q>/N(ORX2@=4] M63Z0O/BFQ%P^*@2$5$$Q AM2SK&0H!Y368'P;?W^6'&I*I5%&%&I*.>RQ!]E ME5C2G\((N)?*)\HV+B;BJT&/7"X:N5ST&U+E\,0Y4NE$%X&?PT3S(RN4V01>36(G>4PA)C4UDD4)DN MYZ0],:NT?Z*+;@"_+T%!VI0DDC9&+O[YC[]=CD;#U]?W-_PI?OTO\6 6.A&G MHR',:-7\NSP=B?'Y4(S/ACT2O&HD>-6[N1OIYKPG_G#[9Z4?9>8]A/>MDU*% ME[M''68LO']W-CRF!P)0G]4/BHY[U#!'4F+)643N&$Y MMTJQ3 M3=HDEO-URR^U&PA2*/PQVO-MRTD@\P ZF)@/"(M673,&N>[4CYO N&U/89%+\79R>12-8YM]%/(Y.QZ=; M(CT6<13#?!],*;-G]KISJUW2I]'9Q;GH,?UXV$*LX4NI1F%=TLJ>]MM/<+^3#4 ,G9629*%4(] MS272.VC5YK,P)?2DH4!BF$SX48$Q !(R+%BV5:3 ',,&E =3PWL 5.?I*R6M M4 0[=SG,SEQ'=L>OB,Z6WVV[XGC0:QX=!![WFL=/4EOQN\PJ)7Y5TE66'>70 MD+?_(M#!3TB1B @0[EU!6<=[YF?@A6GS1G?>Z"+)*EA7\IQ71IR;V))L8WB= MAPNY:I[8"DI13Z@K 58B1BD)E*E+,94)@[T("\)NX)T"X 6192D7WF-I,.(8 M8T(*KV0;L =*>01Z:M/@0#?@#?U_6>:YFUQ[ZY?6:K)86A>L+NM&!H6EE&3E, MJ.;F:0C;G^ H(AX.Q"42/?T;B[X**AZUYCOJM:R?C4F7.B-3 N:8:9(90:2/ M!KGH(TIN!!^P5>X-D_9<+^HN*,."QVL+^LS[K1$LF\NLYM<+IB7AY^AMF 6P M%$ 2P!!HD'B;?+[YCW+QGQ7*:4WU$N);LYY&.:,M@_.2U)=P?:,W7\@M$P069,\=#CQOJ=YJC+-R*]<"UJM\G"\"J*6$" MUP#')HBC-N6HFY04/'V@YEH'ULM29G64<^,8\J95XE5 H$A#TEUL,!Z*JR%_ M^D2A5_G61IA#*K\/DSADD,K%+#- /,)5BT6FH6/,@%F:1^_:[,8T$2LGI.12 M)?/"9&:V$L"^E:]"B<'*,=,YX!7B>:?&(Q+TF8 U@2F"0+FTWU63=7ED51H@ M':P94204)+Q!NY4KB%=VK"Q M+!FGX.*4+'+L$MS)&8./5I0M#P\TRD#O2N8N"E]1G!(D\I[$(DCFB!K\!$JU M>D9Z--;+=XIP_!>_\XZZ# Q4B!V6<]N#RA>E-85.(G&O9[FL%\(33^.3H3!P M'S98,RK()D,!)A=*HD MJ\:M $QIRZTL;O_S^9?;ZP=>[O;Z_@_^4LML@/3#T=956>O'"8*+TW4!]CL, MG.TD:H30*O%XQE">(P9B[<2@CA?L+3 .*NH,DOU,^^(FAX#K:B;C6BM5;,11 MS;A7O9F62]ATJ_4U8Q#7#[<>6, \5<=XO:)J_ <+T8LJ8XW"$A$O2!JH M(E M^PL%47)D%%6,(&MZAX@&E48%R9 %U**Q9@+C3]PQ]=_K)<@D:L(TE9VQ">&' M[I,1(C*!]!7NL_Y0(S@0#7[**\G,&;\<)JWJYEMWUJ.TVE2(30S-MEV<)?&# M;AZ<.WAZH,U\A2X JBE7'D-'%L!D50='/PVAC=#H-!1.;1(,TF?/'I:+3PI^&@,$3KF0!5"&6%06R8-ZV,A'MC9R MARRCIRLOA2>0WYE0@$PX*)@LI<>M#/QSWA?6RPC]-DTZDB.]7< Q5-3(?ZJ( M!;AV4<[!KY=)R(ND#R79]QJ^ 65R87P+9GT/ _%%K@*TM,'EV1#9VFH!'?LM MPF\ <=6"L0C*#)"%4?F,QW;L1U%AOWNM;UTIA^1:*TR\KSL$WU1(^;L*K1KG ME3I7/JL^&IU 1H.V)]$MRPK5QHNU5D:HDC+CN)K43;'*. ,N81G0>1A%$<;; MSW/MJP'U66L[IQ)8^CRZ#+*I$4@M4O@I?$N'PB%]9%+=_8303'((:':'- :- M@;?T2!V[MM(M?_?9SX,)%EVJ&FXM&TA4+E5&0,;_A^#<5I%R8B@.+>O6XG:W MN2V+1N?0O_.![O.$92=;BV WD.T6J40R!4PGX3E+WB>V 2691,NZUR@,4R*I M]3J\0SU/Y4B>:^="W]]O$B4\<=04S11X_&B ?F>*0F6"PYZV:?A+0@F84'SS M\5+[YGM"XWVJ:?T:Q#:#/8NL=8\Z KO0D.?>;KDT325SCR! Q;D39R*^Z(/W M[3EAW']P=U=0*6+LZN FTGYTO43:SZ0%KC/;9@@=%*+ZLOCH_[*U<3T>[ Z) MZ)B*NNPF/W7;DA(M4'OP$R=%!6W0'A( S8/*_'%!3@\=#M<(H.XDN5K3@]RC35M4B)RQJ_4'HB=%5O(Z6V9VY<E70 M]23X(-EJI^=3RJ>P.A)]93T:"J>MG)$(.4X\($3T2#/",K4A=MALBEF#TF4! M&2'!-4#.FP?I;-.B.B:XD>FI4VVJDD_(O&&:9BY?8WH^^S]WT 98E9-\_FK. M #L&K5UMDD2A47;K$Z'50M!_8Q-K?D"27,=?'Q17UNW-D74N#MK UF6']K1[ MX>-=<]@(ZI,L;9N,8 %'L>RU/R(M5=,QO4C4I6^$IGL6]4$-"W'68T"R* M(6HZ57QQCN$:K !]'+US+V$':RR4 _F=A>(;>KT]I@)(O]J$D0P&$8D/JFE^,/8[W6: M(.VY:N)TJB7AR]!(BWSLT][K?T66&@WC2\8YIP/.6CM/8ZE@]-*E J>D3?S9Y@<%!S4>;][Z,\I#;?.%Y6Z+&9ZHIF]=UTAK*V^, MJ7NS:6<,EWR;!S4+JW/@L&Q5YV[4570+H=O5G ";3/FHBHO&$$BXX<[-1N2- MZ92CR)+:<+(^2_#H@XYCJ7'F"&"RC>Y@+JI#+,DO](P\"NA567O0/WKA#-Y8 MI6<%"F&JY$DEL#PGD[8#R0^R'[H?U[_V[MBRQ="NFP_PO:W+$+WN.&J/CD?] M1[EW!4":$@_RZ6!KW9>PWS !W5/RU+W_FSZAN2B]\V3M)M8ZR51G5?<>4$VPJ-@" MP6%S,XB:CS2:^G&A^ZU5T_UA5PY(M 6R,DNJK-ELO9BJ);O@-C9Q.%&)I'($ ML[0-, A5"NVEU,?UNJ_$'Y@;+KAWKJ]]VUN*?#05O_:2C./H]#R.QE=7@#O1 M^<4X&L87L*[>#;\2O_$M1 +/@?RT>[7-43KR9S/Y(C,KI<(CL_"!9HQ,?18# M85U>16>C^"7F]U5FV%DM8^SMXN(JNHI'M+?+\U%T-KX4UP>K=UVI787&I\-H M>'$E3B\N(^".WAC5]M)&_3TO D#=GPE84^"S+^T/K@#ZU]KM^;?>]*AB0Q@N MRHSNPD-U=,T%3*3A\JD1UU4Y-[:^=M+A^>>Z:0L ^.^*KY;&YX!VYM%'=7R] MZ@3Y^*R^\>8[=QMW GTG9P=7=\Y5/\94AY.U=!,X&6\].>4^1//43YOJ1[4. M->O1.RWAI/.CF5RAZ*>?!A&\ (/^]S/-T^;G1]?^1S?MK_E*:!?\$9V+*TN3\<:Y0QEH:@/=3 Z,/7VB!YD=9[_X+4$L# M!!0 ( &"(>UA0\?/870, /@' 9 >&PO=V]R:W-H965T\N\5)Z4=S0+3P5,G:+(.#M-N&=PDU^N) M.^\/_"'P9$9C<)%LE7ITD]_+91 [0BB16X? Z'?$6Y32 1&-+SUF,+ATAN/Q M"_JO/G:*9()<2>._<.K.%GD O#56 M5;TQ,:A$W?W94Z_#R& 6?\<@[0U2S[MSY%F^8Y:M%EJ=0+O3A.8&/E1O3>1$ M[2YE8S7M"K*SJX_*(J3P!C;=K8#:P4;L:[$3G-46;CA7;6U%O8<[)047:.#G M![:5:'Y91)88.)R(]][6G;?T.]Z2%#ZHVAX,O*]+++\&B(CZP#]]X;].+R*^ M0WX%61)"&J?9!;QLT"/S>-D%/0QT 9Z+K[/.SUN[#+HV#>.X#"A%#.HC!JO7 MKY)I_/8"MWS@EE]"7VTH(\M6HKNC6V8.H?_"^R^M.#*)M37 ZA+NT5@MN,6R MV__+1P,/^&1A+15__/M<8!==GP^,M,=JBWK0WWW2SJDCPMT 1^Q^@GP2IM.8 M!DD6YED^YNI/OX$D3/(4'I1ETB^%W\(X;/T?PS%T'DZ**5P0?#((/OEAP3_[ M_"9W-T?45*[@8^MC=_ER8$3G!W6^Z/&\SG\BTWW&C&0>"+&>$%=5177.=&RH M !M+2E'FOGXU2Y/D+14OP2%)PGR:A-E\#DD<3HLLC)."XX!7T>[PCRL M#FWMIJOF_Q[O>N('IO>"Y).X(]/XJJ#7H[L^TTVL:GQMWRI+G<(/#]2:4;L# MM+]3%&H_<0Z&9K_Z!U!+ P04 " !@B'M8*!>4[F<# !]"0 &0 'AL M+W=OF M0+3P4 IIID%A;746AB8KL&3F4%4H:6:E=,DL=?4Z-)5&EON@4H1)%!V%)>,R MF$W\V)6>351M!9=XI<'498G2<"5!XVH:S..SQ=BM]PL^.VE9,H/G2GSBN2VFP4D .:Y8+>RUVOR) MK1Y/,%/"^'_8M&NC ++:6%6VP<2@Y+)YLH?V'+XG(&D#$L^[VQ_84J!Y/0DM;>>"PJR%7C30R3/0<0*72MK"P!\RQ_QK@)!X=F23+=E%,HCX M%K-#2.-]2*(D'@^&-3W&,Q> MO8B/HC<#W$8=M]$0^FR7CWUXS]F2"VXYL6V3DP-9^AJS6FLNU[!@AAOXQTN! M#_A@82%4=O=OGZK!??M5S4M5.S,P^XQ/X-8X&D\FW^,]"HC;9](^4YA;H#1B MN43=I1+.R2<4[X R11<^1\W\I16M\D=X]>(DB>,W,,^R6J@US^ E[,7[T6D* MKZEYT/ZZH0MID?A;("0$LV$5S28GXW;=MO5[E24_H2P]^D99,]2K;)R&<13!14E:/6^J MPU1I"().G7@\@M5,&M%LPCHN1._HF-CMCN1;;S:&^NW\]Y+3D;/MCTM(1@/\ M4Y]4=]G[G!X^*8DEZK4O_(:(TVUOJF,WVGU;S)N2NEO>?)A<,KWFTH# %85& MA\?D3-T4^Z9C5>4+[%)9*M>^6=#W$6JW@.97BNI,VW$;=%]UB&4:"^Z@0 )00 9 >&PO=V]R:W-H965TXT3#FI3,FHS,NPLQ&?%&526C%P)D M4]=$W,]HQ5=CR[4V+[Z4BT+I%\/):$D6])*J7Y<7 D?#3DM>UI3)DC,0=#ZV MIN[)+-'SS83?2KJ2C_J@/;GF_$8/SO.QY6A M**9TAH(-K?TE%:55H0POJYU M6IU)+?BXO]%^9GQ'7ZZ)I*>\^KW,53&V$@MR.B=-I;[PU4>Z]B?4^C)>2?,+ MJ_5L;C9JTQWC MJI%&<"732;E4 K^6**K\JJ L)R.&>*L$5Y75&82DF5A,,K M@B-Y-!HJM*IEA]G:PJRUX/V'!=>#3YRI0L)[EM/\J8(APNTP>QO,,Z]7XSN: M'8/OVN YGM^CS^]BX!M]?D\,)+0.;O.OE0ZV2^M5%I.*66I/O MOW,CYX<>;$&'+>C3/KG$59@WF <^A],"DX)(2_:0K3\,;+BB=PIF%<]N_MSF M0:^-[1[,2$581I$9/Q+6X'J%-N >'(#GVD&0P#3_"PF**Q3YH3B@;%4B1?5< M4O-&OQ8TXP*SKC&K@L*<-T(5\!45*BJT4ZC2A4-)*1@J^EJ3GIEQ)GE5YD2A M]!RULJPD%4B%+UJ3J!*UM9CT"@77&?QT!$'HPGF-[BBM'K ('MQ&EM'Z&D'Z&\?1[<@)]U'N>GZ/9K\-:>PET,.8 ML&-,N!MC?IEO6<>[\:77PG:^/'?*Q.R]WGX%9V6&-J5"3WT[\"/3^E&*>\)M MB9]UF#"[5S0K&*_XHD2:NW;BQNO?"\$S*N6_)D1V$(>F<5.XXEI#MS"ZD!YL M\O8!GK(EG)2L5'518.C2)NW 2$\X3.#5; M-"I%\ALI691+B48U*B?&3FI'B6XC1.,\.' /GIVDB![!:R^#.($+Q*#I$J:. M>09(FNP&)T.0IN89P"6?JQ41%+S8,<\ K@3)*3!24W #QSR#=3CFO? Q"G;B MN$A/#) /B>VF"7(&B]H+7AN+6,1O) KY*#18MZW5YX8P"2EJ3W5@6F,F0F$: M;5EG_W-:?%=;C^T4(WR@<2,3GJ8E#"%-$DV]*.Y-BF>>MT]*%*&$@YPPC8M6 M7Y^5*&VS$J7]67$\DY76&G82.PS3OHTHZC:B:.?2]0C^SP;^OCM3K\G75[+$ M#KQOM9#A;K%/'8O3%\I8RXD]5"-1^HM8NP?T4"?NJ!/O3)VSMZ!-K[G7T\;U M;<^)OE7>[)7<0Q_/34=/=]I#W*I?/!5M-J@]3D6.]\R>\X*]EF9N/\V2CF;) M&]',AK-&-;C!/\'[_@[OQI+NR,%>+-LYB X'FFYV&IOS5&@&<1SH060&;F2^ MF!,&5BOLZB-/Z =; S1\=%/$\K@P]V&)7$.RMI?&[FUWY9ZV-\V'Z>U]_1,1 MBY))J.@<19WC& ^-HKT#MP/%E^;>>&ULA55M;^,V#/XKA#<,-T!7V_)KLB1 TQ>LP+HKVJZ'8=@' MQ6$2H;:5D^2F^?>CY-3+@%SV1:(D\N%#4J(F.Z5?S0;1PGM3MV8:;*S=CL/0 M5!MLA+E06VSI9*5T(RPM]3HT6XUBZ8V:.N11E(>-D&TPF_B]!SV;J,[6LL4' M#:9K&J'W$5UK4#(AK?#IC! MX-(9'LL?Z+<^=HIE(0Q>J?JK7-K--"@#6.)*=+5]5+M?\1!/YO J51L_PJ[7 MS?( JLY8U1R,B4$CVWX6[X<\'!F4T7<,^,& >]Z](\_R6E@QFVBU ^VT"1DZXKR9#6=2K*SL]^51#3LUC4:'Z>A):<.XBP.CB:]X[X=QS%'.X)=6/@IEWB\K\ (;$>J/,/ZG-^ M%O$:JPM(8@8\XLD9O&1(1>+QDC.I,- '>"J^WCH];>T>S]AL1873@%Z'0?V& MP>RG'^(\^N4,MW3@EIY#GUU+(]9KC6OA[[):#?7ZRQ.&9WRW,*]5]?KW*>YG MT4]S_Q.%/A3+9]@-?'"[V!]N)VJP^RV.G29T9 L_0IFQ9%0X(65I7L*7F_OP MKK6XUL(J'5(P5LM%1S(D!1M%&22<)7E$%C%/6!)Q)\4Y*WEY['&KU;*K[,'A M\P;I6=9 5;.DSV.6I*D3..-I/AR3487&0)JR49Q"4K*L2.$)&UFIUL$1"P^1 M1(PG&7!2X"-XD4M4(!NQENT:1BPJL8(8DE"R ME(IQ1_Q=*BG*.&5)'#G8*"GADG+;*-?OX)-LJ[I;.L8WKA5J6<$+;F3EGC%% M5(XRSZG(X3>Y0GBJ)+:4,$A9F>4T9N4(KG%%?1A#@5KYBT*T6984%"$U?Z)7 M=5K:/20L+TL:>1K#ESY<*@9E@J8B.QWNJ=<1'C4TNF%KW[8-5*IK;=_;AMWA M9[CL&^*_ZOVW%LI0T+V[H=T/M%.A\ MI:@O'!;.P?!?SOX!4$L#!!0 ( &"(>UA++1/[@@( &<% 9 >&PO M=V]R:W-H965TICVXR6UCX=B9[1+X][MV2NBDTI?XVK[GW',<7\\ZI1]-C6CAN1'2 MS(/:VO8TBDQ98\/,L6I1TLY*Z899FNIU9%J-K/*@1D1I'$^BAG$9%#._=J.+ MF=I8P27>:#";IF'Z98%"=?,@"5X7;OFZMFXA*F8M6^,=VI_MC:99-+!4O$%I MN)*@<34/SI+3Q=CE^X1?'#NS$X-SLE3JT4VNJGD0.T$HL+2.@='PA.]Z>PPX@?P^0;@&IU]T7\BHOF&7%3*L.M,LF M-A=XJQY-XKAT/^7.:MKEA+/%#V413N +7,DGE%9IC@8^W;.E0/-Y%EDJX1*C MCQ?K1KD5/3LA+G ?6 0?V$0?'Q0S*)OQ[0-AZTC0^Q M%W?40CC?:$TQ_/:JX1Z?+2R$*A__[#-PL,1^ ^YHW?FF<,LZ MNET6-6?"P!$D63@=YRZ8A'F>PP.U&' )K58E&@-)F$T(&HY'Z9MB*!4U[5IB M!5:!LC5J ],4OOGZ!KIM=<&A"X(FA\?)(% MH/NV[B=6M;Z5ELI28_JPII<0M4N@_96BV[6=N +#VUK\ U!+ P04 " !@ MB'M8)NX&/M0# !,"@ &0 'AL+W=O^$O%.#/_\BHQX^V ;QQW MZJ -)I.5$/>F\RF;.)X1A 6FVC P>CS@-1:%(2(9_[2<3C>E 1ZVG]@_VMPI MEQ53>"V*[SS3^<09.9#AFFT+?2=VOV.;3VSX4E$H&V'7C!TF#J1;I479@DE! MR:OFR1Y;'PX (^\G@* %!%9W,Y%5^8%I-AU+L0-I1A.;:=A4+9K$\6$T],_A$88P3OXC)2;@K=+MBI0G8U=3>QFC)NV3%<-4_ 3)C^ 6U'I7,%- ME6'V(X%+LCIMP9.VJZ"7\0.FYQ#Z PB\(.SA"[M<0\L7]N2JH$GP6'X-.CJ. M-JOC4M4LQ8E#O[]"^8#.],TK/_'>]VB+.FU1'_O4VC^ :Z$T_&4EPA(?-5P5 M(KW_^YC:7K[C:O]$)MOR )F+Y0IE9[ ) 7RI43+-JPT41A&D1M!K\ ?QA6>? M8>3!(A=2O],HRQ>C0@HC'^Y8M4$0:UJU9E]X9C,0^L=X!7LCY0R\\Q"T@"$] MOML%1,K8 TD@_#'P(38Z!LJX2L6VTD!9( U)?H.>ZL1==>)?5$<&0J%U-I@C P MS00N0M\TAC!,;&,$(366.=*VO28;(1Y%L!2:%:VU-=O31JL5,<:#BV@()F'@ M9;TUWO**,$@5?AO3/&O)GEF7D; M#Q6\>34*?/\]K:\'+D75IK/$-*]$(3:&Z378543AD(AM:9<7-!V^I)I+D9I* MO" )O2;\+Y+(;\(I*?%J>;-8PN*&?.#,X.*XC3>/NCVB:;W_B/^5 C],VGBB M^Z?,M2 65@N)Y@?UFW":3]]XAD;=*M*P)ZIT/:?>1 MS=VEZ6A1V_O"2FBRRC9SNNZA- /H^UK0.=IVS 3=!7+Z+U!+ P04 " !@ MB'M828DG$8T" "Z!0 &0 'AL+W=OM=,W(FGH3 MFD8C*SVH%F$21=.P9EP&^=S[;G0^5RT)+O%&@VGKFNFG)0K5+8(X>';<\DU% MSA'F\X9M\ [I>W.CK16.+"6O41JN)&A<+X++^&*9N7@?\(-C9W;6X#)9*?7@ MC,_E(HB<(!18D&-@=GK$*Q3"$5D9?P;.8#S2 7?7S^P??>XVEQ4S>*7$3UY2 MM0AF 92X9JV@6]5]PB&?B>,KE#!^A*Z/S28!%*TA50]@JZ#FLI_9=KB''< L M>@&0#(#$Z^X/\BK?,V+Y7*L.M(NV;&[A4_5H*XY+]RAWI.TNMSC*ORI".(<3 M^$85:KAJM49)\(6S%1><.!IX<\]6 LW;>4CV0 <+BX%\V9,G+Y#'"5PK296! M#[+$\G^"T"H=Y2;/[+KT=G M^]&N8"Y,PPI,-SCEF I5/'P M>Y_V@^S[M;M;=5>;P&51Z!9+Z)C63-(3',$TF[GQ+!TWB6VMFLD9S-)19Z.T M+S>U=L6!UEG"QE% HU6!6%K !-+92,(EH15 ,$E@&N_C*>P?XG+CO'9I>(F: M^;T32)-L^+G3Z;EEG<"](B9 >5\Q<(F=NSN"^#B;Q7Z>3#/8]U#A3CW5J#>^ M:QA[>"NI+ZW1.S:FR[X>_X7W7>V:Z0V7!@2N+30Z/;-]0/>=HC=(-;XZ5XIL MK?ME99LK:A=@]]?*?M'!< >,[3K_"U!+ P04 " !@B'M8&H=U3^<>YZ[)V=? MAFNIGO0*T< F%X4>>2MCRC/?U^D*,G1[=RH9RLH(7N"= EWE.5,O8Q1R/?)";[MQSY*?+\EB7C.1::RP(4+D;>>7@V[MMX%_"3XUKOV&"5S*5\LLYU-O("6Q * M3(UE8+0\XP2%L$14QM^&TVM36N"NO66_F6;YCOL $Z#-P!1 XAC>_O1]G*<$$V.AKK2L$.G8(EYN2 M*^;NV5Z_Z66[SDP7IJQ2*#IP\QUB/_I"*&H_M8 M4UDLCQ]1Y?5=>E^G#B;;WRFG[0AZ':N(G/ZK.8"X<]J+K-JH$Y"Q3["_,RYR M5$LW%#6DLBI,/3G:W7;NGM?CYC6\'MHSIN@\:!"X(&C0/2$YJAZ$M6-DZ8;/ M7!H:9.*&ZF@2^GTQJ+IO1[,2M?=:S$]7:2C;BLP;3UC773^>B4@^G(S9:+US+ MNX6EA_HRYP; M<:&J/V5A%Z>C; 2%*'E;V6OU\(?H_8E)7ZXJXW[AH=N;XN:\-5;5O3 BJ&73 M_?/'/@Y; IG_"X&@%P@<[LZ00WG)+9^=:/4 FG:C-AHX5YTT@I,-)>7&:OPJ M4<[.KI05P!@[-5X*?(C")D'@1^$>_2%@\NATQ?N<=E Y^ N M_SKI:+F(K/1Y>,5# MO.)GQ^M"U4O5B,::K>AAO.#-(QYA1L#X7#2BE/;@F;'::_IW8G71:HVX-C%[ M]2(+&'L-;T4AM(M-X+%PZOZS:?#S1F,YUBDJ@R )AQ#' Z M1>4KGG/7!)?\R1G OI+?'U([*]! 36GI-D1A"%$28]96:%QITA=.8TB0>N\; MRYL[27'K/( P04N1#U=X>U ;1,I@!^E80\;*CB\'$!QG!^M9*(YW!SCTD M7I3 685W!-[D@D2@4.WG'KC6O+%/6 (01R[9.4988LCP MRQ.JP!V%P=:63>&376!.D@!G'5$C+YVF^,O\*7SE5=NYSP<$8P)+Y Z(S3O2 MA[(QED[H9=D/Z=W*Q?&.H&%E3*.ITXW6&0[<5>A0E8>MV>Q*$ZK+\72:./O( ML%QV()'B2TWAMETR!4:SX\HX06E^3/)QFW\.7HYL@=D2V6RQ-H KRI5CK7&3FD79F."]&-#E"; MTU1J51_#I5S)0E"MX'1=,'A3GAM92.ZJD.%!R9",5Y\^_$#PULKN#,$.,LXH MU3=4WM\7]C@,B'-I"N\J-<<"D!MB(N<)R\;%+(4D@2M%D6@Q)[2I=]E P.C" MN.YI3Q@SYTA7>\BF-7JBYOI4(VXEKBW0X;+58TARWK5E#QHZ1LJA/?7KR%\G MBJ N%@@9(6#L5CMJEF7 MMKC5KY<5@J)#$/0.473IY,KA9O^=1#$_A!VM(XL M++8CU*OJPT'A#%)7GC':6U<:#LR,=@<2A3UCU*\R^CN@=)-K%JZ1\%<67QBN.$"WW1"TP;\ M7BJ\)?<3,C"\$F?_ 5!+ P04 " !@B'M8E:VK.:<$ "1"P &0 'AL M+W=O?%TYJ7 MS60QLW.W]>?V M5M+?=-!2E#4VJA0-2%S-)U?^Y3(Q\E;@H<2].AJ#\>11B"?S\W,QGW@&$%:8 M:Z.!TV>'UUA51A'!^+/7.1E,FHW'XX/V'ZWOY,LC5W@MJB]EH3?S23J! E=\ M6^D[L?\)>W\BHR\7E;)OV/>RW@3RK=*B[C<3@KILNB]_[L_A+1M8OX%9W)TA MB_(=UWPQDV(/TDB3-C.PKMK=!*YL#"GW6M)J2?OTXD9H!#^ "[C7(G^Z,!X6 M<"UJ8EUQ>W"W%6_@[!-_K%"=SZ::K)J]T[RWL.PLL/^PX#/X*!J]4?"^*;#X MIX(IP1TPLP/F)1O5^ YS%P+? >:Q8$1?,)Q!8/4%(V>@H'/PE'_=[O#T;I,U MEZKE.*.L:%?(GNCE:6>8(.U&1=U6I7V!% MU59(<*.$G@B^V.)H@G1'Q*T[FJRVJES90^S4B?Y(SEY,;)U#[+*H>XUP%@^< MQ?\OE3J>*'',36&\>!LSHU9/,W.SK1]1OAY+'R% MZ;2%-64"@[\PILMW9/0 M%3H&H9NE\ '0JZ[U'.BT(/4#2-B"65>&@_/4L>+/3B'T$U"*@Q- M3CDY(69BZF3] R ("YI&, M8>H(@L]")XJ,L<1-HR,08>@D%)L&1)*\#41@0"24P$$$D1"PT MDB$TDM'0N!'-CI*"H-W1AX+9#+ODM5&COC8F1LV]+28^'R"I#L%H;+"8@B ( M*#82UX\'8GP6V.G,93X\=.K.,JJ*":/#3UTJS-3;K+"T"Y&3A6$7&?&X^7]' M"$M3)R2JB6CO-2X2)XQ]$Q=A,)CWD]2)@]C:)U1']GT2IZ@Z-[QZZ=&ULQ5=;;]LV%/XK!]XPI ;2]0]LPWDTFT!FBU(T@U#L0=:HFTB M$NF2=.+LU^^0DC474(2MQ; 7DY+.Y3O?N9">/2O]:#:<6]@WM33SR<;:[=ET M:LH-;Y@Y55LN\*V>YY-P%D_<"OPK^;([VX")9*O7H'JZK^21P@'C-2^LL,%R>^"6O:V<( M87SJ;$YZET[Q>'^P_H./'6-9,L,O5?V;J.QF/LDG4/$5V]7V3CW_Q+MX$F>O M5+7QO_#'D* M44B !C0:L1?UD4?>7C02N8$VP*'X6NUX6-OURIG9LI+/)]@,ANLG/EE\]TV8 M!M^/8(M[;/&8]<4]]EZUJSFH59^7.[Y5V@JY/LX0@>5++_'1!P,/?&_AHE;E MXQ]#<8UZ'H[K=\YTETC/OONA".B)RQT_@W>NQ;22HD3?QL*W$(B0^8SS4*C@WAMNO86C4TS!#.)!YL\3Z.0SEEB)L#2QV^P),5L"Q8K>N MF7K&*$D\#UBA2=[SE6+EQ5F,[R,2%D&[(G,C+&4]2]DH2YX:^'CCL0[&/JK_ MA9,^[]'E7W4*Y?\!MJ+'5OQOI]"HYW]5;]<5>A4KX;TRWP=#X38CS M*AH;]-BA&4[>$'LX#EXYDK")8^J7-#T:WS0G61A C,=?YIH]BK'9"]_V 0F< M*-L*Y] /TDK8'88W!#80M@\BW& [Z(O1K ME X/[NG1A1)'[]I?FPV4:B=M>[?LW_8W\_/V0OJW>'NMOV%Z+:2!FJ]0-3C- M@_[^R^ M02P,$% M @ 8(A[6'O[K.U&! 20H !D !X;"]W;W)K&ULI5;;;MLX$/V5@;HH6H ;D11)4:EMH$DOVX<6V33=/BSV0;'H6(@D>D4Z M3O]^AY3L.*UKM-L'B2-J;F?F\#+9V/[6+8WQ<-\VG9LF2^]7IVGJYDO3EN[$ MKDR'?Q:V;TN/G_U-ZE:]*:MHU#8IIU2E;5EWR6P2YR[ZV<2N?5-WYJ('MV[; MLO]R9AJ[F28LV4YZ\5'5K.E?;#GJSF"8O MV>F9"/I1X:_:;-R># ')M;6WX>-=-4UH2,@T9NZ#AQ*'.W-NFB8XPC3^'7TF MNY#!<%_>>G\3L2.6Z]*9<]M\KBN_G"8Z@=N.QIA!6W?#6-Z/==@ST/0[!GPTX#'O(5#,\E7IR]FDMQOH@S9Z M"T*$&JTQN;H+3?GH>_Q;HYV??;#> -/P._RY+GMO^N8+G-O.V::N2F\J>%-W M93>ORP:"?WCVJ2O758U_GL.SJ_*Z,>[Y)/682?"7SL>H9T-4_IVHC,-[V_FE M@]==9:K'#E*$L,/!MSC.^%&/K\S\!#)&@%.>'?&7[>J217_9D;HX& >PC=8 MB\/6826=NE4Y-],$EXHS_9U)9D^?,$5?',E-['(3Q[S/'CKUT)QWW;! ]/_ MCFG#E;GW<-;8^>T_AQ ]S"G %T7(CP5A(X MR4.F1"H%C!$J-);P&PN9Y_AP$")H,=3/J8(/N%>:;3A.-,N#NR+#-T<#1H24 M4)!,\,>J*],#AFBQ16Y98HY/GVC.V(NPK=1SQ$Y/N!H&&8=8*QQX'#2'SW&3 MP=*7=Z;'/?.1.P>XZ3I?=A5&^\HWHR27$C$7 2T7C#"=!5%K12B502P4)RJ/ M"D(QK%7Q@^E7=;,.2>UESL4! .C[?P#8>@]=TIHH)8*H"H6]*P().#X9BWQ@ MG!-:1 AY7B#9.!SD+!\YRT?.\BUG^3>N0L'FXW=1?S95CCC$@D%PZZT(&Z!7J3&5*7_@AGE0QVPG M$_(08W$E""E ,@DJ"UQ4N*H>M3%P&BO%5/#+PWK@0H ./?]INM*QVW2_Z1G] MA6[OZ*I8CJLI0E58+JYT% M)M,HCG[E$,O XFV-QD $_3]>O &2/ .A?HBLE M6F"%BYBAQL;G@9@H*H&,H$$LN":SNWO2R^%Z\* ^7++>1VXZ:,P"31&C3* ?+B[#A[>K>%FXMAZO'E% @ 8@8 !D M !X;"]W;W)K&ULC55M3]LP$/XKIVR:0!JD>>D+ MK*W4 M/XP,2 @:9I']SDVE@X=K$=6O[]SDX:NJU44]7D;-\]]YSO)<.5TH^F M0+2P+H4THZ"P=GD:AB8KL&3F6"U1TLEZ-2A'&G4XO+!F7 MP7CH]Z[U>*@J*[C$:PVF*DNF7Z8HU&H41,%FXX8O"NLVPO%PR19XB_;[\EK3 M*FQ1G2+RWP4=!PA%)A9A\#H M]8QG*(0#(AI/#6;0NG2&V_(&_;./G6*9,8-G2CSPW!:C8!! CG-6"7NC5E^P MB:?K\#(EC'_"JM;M]@/(*F-5V1@3@Y++^LW6S3UL&0PZ;QC$C4'L>=>./,MS M9MEXJ-4*M-,F-"?X4+TUD>/2)>76:CKE9&?'MY3EO!((EY=P!/=,5*R^+9G# MMXH)/G_A<@&3+%.5M 8.[MA,H#DBWB.V3$DT4>(.W&R!R]I[R+Q>,D;>%^510-U@+OBJZW3 MW=:N>T[-DF4X"J@]#.IG#,8?WD6]SJ<]W-*66[H/??R:F8F@1F(R(ZHN23>U M*P,_/7&XP[6%J5#9XZ]=,>SULCN&*1/.'3 +%VL:!@9ADN?JG''):@QJ+VH>"5N.?B#3=9T M91G+&>HVTZ\W #24(%?5S,XK00W>U.A[2$]Z]#RB_T%T H<;.?%BVD_A@6G- MI'V!)DKH]1-(NA'I]'ND=42_7CK8QR/^#QYQE-"SZZ1!]!<+HO@/BVX2$;V$ M=**N9W$0.3:.W*X:"K?ZOD2]\-/-@'=?CX!VMQV@DWINO*K7T_>*Z06G7 B< MDVGGN-\-0-<3K5Y8M?139*8LS20O%O010.T4Z'RNJ'N:A7/0?E;&OP%02P,$ M% @ 8(A[6!78OU&> P 4PP !D !X;"]W;W)K&ULM9=M3^,X$,>_RBBW.H$$Y*'/;%L)RG*W+\I6='?OQ>E>F&2:6B1Q MUW8H2/?A;^R4;(#4$M7>&YH'SW_F-Y.QA_%6R'NU1M3PF&>%FGAKK3?GOJ_B M->9,G8D-%O1F)63.--W*U%<;B2RQ1GGF1T'0]W/&"V\ZML\6;K6YH$_'6]8BDO4WS8+27=^K9+P' O%10$25Q/O M(CR?A=; KOC.<:L:UV!0[H2X-S>?DXD7F(@PPU@;"48_#SC#+#-*%,>/G:A7 M^S2&S>MG]6L+3S!W3.%,9'_Q1*\GWM"#!%>LS/2MV/Z).Z">T8M%INQ?V%9K M^[0X+I46^CL##H6M(K,8ETQS:9C M*;8@S6I2,QSRD&TQT$8P5P4>JW@4Y%@\E+ IVCKD*/G MD"\CI^*E2DS@JI2&9H&2B^0$OK.L MQ!.XH=:U"UKQG/+OQ:O$>@V\D_)"G^HUGLZ9O*>-U,"P M(D98L@P57*02T90/_IZCJ>T_;9Q.!^_E_$5B+W+1KW/1/[CB2]MTS9+#$2]V MO7@,_^[ORLO^FR]S%(6#T: N7$7NC.U \D%-/G!_!2E5.F6T/WY9K; "ESRV M>Z3-2AO7X,TG20=JXWNLL)R.#\0:UEC#_[>%A^U=]PK1&<2!B*,:<>1$G(D\ MY\I.&M=(/(074\/26&)J]X<42E$I18R8M!)6ZL,&87 6=%X!.D,X$# ,?A[; M@1/QFL4\X_H)J-\66+ B/8$YR]B3XLRY,;EUW[LS_2JUEUEH#"^ANT5IE3;-28>F@IKFGJ1VD6T/L5)>GYQCBH_X^8_@=02P,$% @ 8(A[ M6&ND2125!0 S1T !D !X;"]W;W)K&ULK5EM M;]HZ%/XK%INF3F*#A/>.(K5)UCMIW:UH>Z?IZGXPX0#6$IO%#K3__AZ'%$A( MW4;R%\B+S^/CY]C'YXG'6Y'\EBL 11[CB,N+QDJI]7FK)<,5Q%1^%FO@^&8A MDI@JO$V6+;E.@,XSHSAJN>UVOQ53QAN3!,](& M68M_&&SET3710YD)\5O??)M?--K:(X@@5!J"XM\&/(@BC81^_,E!&_L^M>'Q M]3/ZUVSP.)@9E>")Z">;J]5%8]@@MMT@ M82J5B'-C]"!F?/=/'W,BC@Q<]P4#-S=PWVK0R0TZ;S7HY@;=LH'S@D$O-\B& MWMJ-/2/.IXI.QHG8DD2W1C1]D;&?62-?C.N)'E5*HX_DP[MAI]_] M0A@G]RN12LKGLDG>%^['+87^ZEY;8>[;U(Z$/XF72<)G';;H<\W/GD[/W'"L>\M\.X!AB_#DSP,"5G.9%5 M8($9[(8^Y5C.L-JE F.=_?SH9+#=%V"G(%7"0@5SXE&Y:I)[H6A4%EI,VF/6YMC4D];.$[7+3;RC>[HM'DNUS2$BP;F10G)!AJ3#^^?W",Z2?"(6ZD$*,WM0ESA)8@;C1GKC1*\0M(,'<2*X37=+=)B($J"[( M1J?IKEM*=YZQL[K+VB988 FL0++3/E32;2/-*%Q0EG#BI4@V#Y_(/=(MZ4X0 M7:-F(V=Z:_K8)#/ W1_(/7TTS..\M^-8E&:H5]'DDW,RC\UNU^78%EJ1Y".Y MXAA)]IC*-,I4H&26"GR_RJ9-791DQ#/ M*IIO%2VPA58,EGL(EFL.ELB4(VYWY#NC,Q9A\'2ANZ9/L7ZHM686.1W#[R*D M49ZBOJ8H&//:KBS\\A@:>ZX=0YMHOE6T($>AUN!( M=1.Y5BDFH\M8%]1']70EZQ42;E0N^\P]UR;3JB"TA59D_2 )';,FO&&13CHZ"05_4K;6N:E)'B0L MT@@3UP)5Y"^@2:6"?*4/ASRA965@;*I&WRI:8 NM&)B#"G7,,O2&/KZ^2FSJ M0<\JFF\5+;"%5@S&0:TZ9KEJ9Y68^W#:V3*I4B2>V;1V:*RJ85MHQ= <]+!C M%L17E/\FURG5)1-@^:NEASXPP*+X[V2.OZB8A63*O)!LRES/*IIO%2VPA5:, MUD&$.V85_O8OZ6:@VB$9O>6S>]YJ5&C5+WT-#6QYMJ.P=71LA9-VF9T72I)] MV=V=Z>R?[L\D+[.3N-+S*^?$SZ501I#;9M#ULBI)V>W;@$JP:.[4O2??O9QO*:)-V>0%_ MG',XYYKK]"#5HZX D#S77.B95R'N;GQ?YQ745(_E#H39*:6J*9JIVOIZIX 6 MCE1S/PJ"J5]3)KPL=6M+E:6R0<.N#S,O-![65BQ;85VP<_2 M'=W"&O!AMU1FYO@+=C\3$7#P:+G5% E'%]920>U@MR>7%%+@@3Y+Z2C38,G?IH0EEK M?MX%N&L#1.\$6$ ^)G$X(E$0Q2?H\_/IT6NZ;TK9US/JZQDYO>0=/9?39L_M M /X5Y%2R5FKBI&R[[;-D$DV#U-\/ QRCPCB)DQ[URF?<^XP_]#DX&NOTE+M6 M8#KX[EMGQX@P3*+3QI+>6/*AL7N)E#M/HZ,:NL*J_SM/SJKK,2I,)M?3-_;] M06_9>^T'55LF-.%0&EXPOC8"JKTKV@G*G6NWC433O&Y8F>L5E 68_5*:ENLF MMH/["SO["U!+ P04 " !@B'M84^K]3F<$ %$P &0 'AL+W=ORZ>LPVE$KPD<9H- MK(V4VVO;SJ(-34AVQ;@=CW^PI=P,K- "2[HB>2R_\?V$ M5O[X6B_B<5;\@GV%=2P0Y9GD2456%B0L+?_)2_4'/.I6O M^F6705=&21%B(R+)L"_X'@B-5WKZHHC3@J\BBZ4ZHQ92J+M,\>3P'RXI0.!O ML"A3"O 56+!URE8L(JD$-U'$\U2R= T>> K3^4F ^-T29<& M_JR=#U&+@*V>4OVHT.%1W:)6Q1&-KH +_P+(0:[!H+MV^H)N%=UYDSYJI\_R MM)4^;J=_):+5^/O+?4<&^L/EOIOHD\M]-]&GE_MNHL_^[+W/__>C.PE#M\Y8 MM]#SWM"K5N5R,0 M^1BC4^"#"8A[?HB#4^#$"/1=A,-3X-0(A $*X"EP9O+:P]#M-9R9&Q4#UX&_ M;3P)#Z\.#Z\U/+ZG.YKI\#C$PTHU/ID4+"HF)8^>@0H/0)-MS%\IK:;X5G37*>3_2875V7,\ ^C/G.U(3%-I M*K]+%N=:[)W,\L]=01 AIUDX[DQ A71AH[B-#$"(>]C'#<6Q">BHFHZ]1@$V M )T>"I65C0)L H;8\[T&<&($0B]H>CTU CWD]QJU?V9R)E!ZL &I1 MP4KP!$0DCO*8%!O.=V*FU9#_6HV[%!MU*3;N4NR^2[&'+L4F78I-NQ2;X?-4 M\1RGV1K.SV%>$#K(:^23?;1;3:A8%P*[!9&G*]'T?A9IUO)KW<'#!QXEU!WZW/6%C MO$1[/3G7M/,KEIBG* U7$C2..EZO=C!H.7P.N.$X,W-K<$J&2MVZS4G<\0(7 M$ J,K&-@]#?% 0KAB"B,GR6G5[ETAO/K!_;C7#MI&3*# R6^\=@F':_E08PC ME@E[H6:?L=2SY_@B)4S^"[,2&W@09<:JM#2F"%(NBW]V5^9ASJ#6?,8@+ W" MIP:-9PSJI4$]%UI$ELLZ9)9UVUK-0#LTL;E%GIO7A["YL04;P"5< M)2HS3,:F[5L*R-'Z4>F\7S@/GW%>"^%,29L8.)(QQHL$/BFIY(0/=K/,/7SPR=& ,#E0ZY9*YRMVDC+9=C M2J];&AZC+I^<[E/UZ73;M#VI_,JEQ'UL%%A%J0T M*BF--Y0"/:T9G>*+*)MSTG;"#XTG^I=!P6KU M>Y7ZO;7J'[MC&RXPHG=#HV,Z3&7!@2.B#+8W:>(=#$*%1NK)ODT,5269I-\ MF=#TB-H!Z/E(T411;IR#:A[M_@902P,$% @ 8(A[6(0V04W( P [10 M !D !X;"]W;W)K&ULK5C;;MLX$/T50BT6+9!& MHA0[3M8VT#@H-D!3!$DO#XM]H.6Q390259*R6V _OJ2L2%8MLY++EU@49P[G MS(R80XZW7'R5:P"%OB:X83>%!()DG"1$_;H#Q[<3#WO.+1[I:*_/" MGXXSLH(G4)^R!Z%'?H6RH FDDO(4"5A.O+?X>A86#H7%9PI;N?>,#)4YYU_- MX&XQ\0(3$3"(E8$@^F<#,V#,(.DXOI6@7K6F<=Q_?D9_5Y#79.9$PHRS+W2A MUA-OY*$%+$G.U"/?_@,EH8'!BSF3Q5^T+6T##\6Y5#PIG74$"4UWO^1[F8@] M!WQQQ"$L'<*N#E'I$!5$=Y$5M&Z)(M.QX%LDC+5&,P]%;@IOS8:FIHQ/2NA9 MJOW4] -7@"+T!KTC5*#/A.6 [H'(7( NEI)ZYCTE<\JHHB"?IQ:(J'T/78]' MB',A:+I"-T12B5[=@B*4R=<:X=/3+7KU\C5ZB6B*/JYY+DFZD&-?:0(F##\N M@[W9!1L>"?86XG,4X3,4!F'4XC[K[AXVW7V=MBIW896[L,"[.()WERH0(!5Z M)#J)3UN2H7_O(9F#^*^-FQ7,?*[7,B,Q3#S]/4H0&_"F?[W P^#O-J:.P!J\ MHXIWU(VW,+REYMU&=XC:6=4(K)&> M896>H8/:63'ZTAT>%#EH+_%EQ>'2 0S M([!&>JZJ]%PY*/%5ARWFT.;H%H.#^C]ZX""\$L0>7XO1\0#W) <^L;VB/V@O M^Z)]^\L56C-%M;+ ':6%O89.)46)UF$?P;52P"ZD@AVD-X^H,X]:5&"[JG@; MQSGC*QK;6] *TIN'([0FY5JJ8+M6F?%4:3FO#P$HYOK8M@!=0W/R8N5YX$=K M"@8'R7^#@ZOHUXVES2P:1D?J5 L(;%<0AW72&TD7U=7*Q:G2<(76S$PM2[!= MEYQ83J="!7=6*KB6*MBN57I6/+17W*E&<876S$RM4K!=IIQ8<2MH[Q0<*IPC M%0]K?1/:]4W/BD?V0[EUK=ZG:'6[9_MY= ME+D(O"=B15.)&"RU7W!^J0'$[FYM-U \*ZZGYEPIGA2/:R Z=&.@YY>! MN?&J;CBG/P%02P,$% @ 8(A[6 B]:LN7 P LPT !D !X;"]W;W)K M&ULS5?;;MLX$/T50ELL6F 376S+<6H;B)TMMD"S M")I>@!9]H*6QQ2U%NB1E-W^_0TJ195L6DJ(/>8EYFZ-SS@P95WVWF;3KS ,@(.B;$0%'\V M, ?.+1+R^%&!>O4W;6"S_8#^QHE',0NJ82[Y9Y::;.)=>"2%)2VX>2^W_T E M:&#Q$LFU^TNVU=K (TFAC@ON'ZCW?7Y.6+5^2%Y?$ADX6F(M5C MWZ )5HJ?5()GI>#HA. P(C?XZ4R3OT4*Z3Z C^[5%D8/%LZB3L1K2,Y)+_R+ M1$'4:R$T?WQXU$&G5V>TY_#Z)_!FE%.10)LS9># !=K]O9F&O1@I;YIL6Q:% MP:A>M,>I7W/J=W*Z2O_#4K8%18PDR2[UR5[J>97Z>YMCG!+57M\RD[G:H\F/ M@FGF!K'XKI*DX'+%DC:Q):.XH2,:]0^T=K*V)^BE7M,$)AX>D1K4!KSIGW^$ MQGC:H.)"*1#)/3&*"LU+3VAM76NQ#XY4GD6' M*H_7Q,/V?,8U]_C9Y3-N47J4T$[:OYC086W*\%-M*';\);$_OJ-8[ZM1[2^_QKF)KZ611 M*L"=!:DMW)82W!G6YE/GQY_JT^BXH,/AB8,V#';_SX/NK?FPASH3W@WR5"6_ M"VU?*NU3N8\CES0]6*"4TX+!$R.!\B M)56^$,J.D6MWR5Y(@U=VU\SP507*+L#YI<2+=M6Q'ZC?:=/_ 5!+ P04 M" !@B'M8$_82T;L" :" &0 'AL+W=OYCV8)(+L>K8F>T ^_>S MDY !"MDF=2]@._<<-W)10[H2CXNQ>AB.1:T8YWDM0>9H2^7."3&S& MCN_L#A[H*M'VP U'&5GA(^KG[%Z:G5NSQ#1%KJC@('$Y=F[\Z^G0QA/'<\*0H:1M@S$?*UQBHQ9(B/C1\7IU%=:X/YZQWY;>#=> M%D3A5+"O--;)V+ER(,8ER9E^$)M/6/GI6[Y(,%5\PJ:*]1R($I$K@U4C5QM=EMV-*@V34D-P0H,?P%QPG2CX MP&.,#PE<8ZAV%>Q<38)6QAE&'>CZEQ!X0;=!T/3OX4&+G&Z=Y&[!USO!UYI; MN$LS0J5Y,_0E/ E-6%,&RPOZQ07VS5R'WLA=[UMJBSA0W:M5]UI5SRFG:9[" MMSFF"Y3?FV2U,M@.=*TR$N'8,2U&H5RC$[Y]XP^\]TU%>26R [/]VFR_U>R, MJDCD7&,,4Z(2N#7M35W"[A@>B,:F!)2LOK>?]H[?ZQ\5ISELT&^NT* 6/6BO M$-G^L4*M#/]:H5FTU1KHKIHZ"X MONQ-]6D]X&Z*OGYT/C&#KYQ3OVG*J3DG&ULG55;3]LP&/TK M5H8FD( T:1H8:R/U,C8>F"H8V[.;?&T\'#NSG1;^_3X[:2B05M->6E^^#,4JJ"&NRJE:]+!31SH(+[ M8:\7^P5EPDN&;FRNDJ&L#&<"YHKHJBBH>IX EYN1%WC;@3NVRHT=\)-A25=P M#^:AG"OL^2U+Q@H0FDE!%"Q'WCBXFL:VWA7\9+#1.VUBG2RD?+2=FVSD]:P@ MX) :RT#Q;PU3X-P2H8P_#:?7+FF!N^TM^[7SCEX65,-4\E\L,_G(N_1(!DM: M<7,G-]^@\3.P?*GDVOV235/;\TA::2.+!HP*"B;J?_K4[,,.((CW ,(&$+X% M1'L _0;0=T9K9<[6C!J:#)7<$&6KD M)^%!QAFDYZ0?G)*P%_8[!$W_'1X>D--OM[SO^*(]?!/*J4BA:V=JX, ![?M; M)V$0]P9#?[TKMZLJBB[;JE>JHE95=%#5]DQ/R;Q2:8XO@XS35%;",+$BX^PW MWD5\O:;S1 ]2VR"ZTB5-8>1ATFA0:_"2CQ_0V>>NTZC)XAU[T2#H-C=HS0T. MFKLI<'E#Y))@[N'+%OBTE *1/A.CJ-"F+CC*ER$EV]$=57M7JM:E;^3(@6HE0M73=P=J!];.]KF]]C%UIOQ M">9Z'<,O-/5'X9:J%1.:<%@B9>_\ C6I.FCKCI&ERZJ%-)A\KIGCMPF4+<#Y MI<2\:CIV@?9KE_P%4$L#!!0 ( &"(>UAR+OX)?@8 (&PO M=V]R:W-H965T)/PY/SON*.GI"_5=+!\6\6 T]?/V5_7XJ7 M8A["G,UY_%>T%)OKP62 EFP5[F+QA>__8)6@49%OP>.\_(GV5:PS0(M=+GA2 M#985)%%Z^!U^KXPX&8#=9P:0:@!I.X!6 VC; 6XUP"V=.4@I?0A"$H"A%]QN^RV6>?#H4LL;B M+PT753UO#_609^H)V.(UHO@*$8=0P_!Y^^'$,#QH/QS7AP^EL4=WR=%=4N9S MG\GW9*K)A\/(43FRN#L?9P2/R60Z?#R5:XKRG%$]*C!%N:[*52N>'HNG8/'O MHS02[%4L[\OE%?J0\3Q'\S#+?D3I&MTD?)<*DZY#4N^T%F?BX(8N4Y3G.0U= M8(%%2WR3;\,%NQ[(GI>S[)$-9K_^(OWY';AV[E&^VT'^S6*Q2W9Q*-BRT)Z) MZ+^P:%PF!UQ-&R:>0QL.&*(<=]QT *S1TH'1T8$1Z,!G^=AI7/ KM#JQQ21^ MI,F:8+\YJ_4@[&"_J=T01>4L,<]J[RC* T5]3.53P6YF>[HTJDDS!7E^0YDA MR"7/W*[CH[!Q]ZL5-=2:9(W;R#(%:;+&6AMZ7M;D*&MRYGHU'CL=+MA$;S(^ M]AM5STU1#FEJ ZNTO!']HP=^UTMKDNOK]XLW\KV&7$/49#1JR@4+LI2+'04E M#BCX/@N7DF\E^Z*_/['D@67_&%$"S-*^RHHL^LP6])6M[N )UN%+M;DJ\YF& M8(S2.@)\X#4Y3N 5BCK0>*XC",K7]$FAG'S5E[PM+CF]VRQ27G,US_@G@*FZ]Q3^LP6])6M;J4B7 PCKFU/ M,8#KQ!\U)Y,I:M1<0( KM'5 \2V& ?T[ M66F$4=>RB1 =84?-1^V\35 UV>K7V$NZ;):V:6%$'TMTF!!BZ +M'6 L6F M!&93NP[2$TM6-ND JYET"7@E"EX)#*_'?X?>AHMODEK@?M,38U;F])DMZ"M; MW4?%OP3F7]M^H[.MJZW(&8-(VH*]L]>U)1)BB Z[/5KXB9PL1LWX*HOGAK ML*!%4 "7:&N!HEYJL4E2'8\VD2Z Q/=G'A]&XW$U!G\.$P?]= MP6DZ^]+KLF]?V>H6*K2F%UGVI8;U7%>[SUH$!7!]MOH5-=-++?E2PRZ^;D&+ MH NT=8"!;ST @N^<,[.MY3.Q9I)EZ!BJJB8PE3\KCC/E_$T6J![EL-D Z?J M[$VO*\)]9:O;J,B:PF0-G1NC.O)2ES9W^4U1^M8D7(:M3,7&%&;C=^EC)"=+ MPB00QVHC(3KWG.H5B7O-%O25K7YD32&Q"R,Q-'%*BJ R["5J@K6]U+A="N_1E55S]8BCUWW-QC,H?A9K>! M"^DJ='ARZ+DXHOXIS-91FJ.8K61ZY_58EI,=3GT?W@B^+<]!/W A>%*^W#!) MQED1(+]?<2Z>WA1'JX]G[V?_ U!+ P04 " !@B'M8,(Q+H-0" !*!P M&0 'AL+W=O]/VS 0_5>L#$T@ 4G3 M-A361NJ/L2&-J8+!/KO)M?%P[,YV&OCO=W9"5DI:3?O2VI=[S^_Y[/.PE.I) M9P"&/.="@+PYF N2*ZR'.J7B; 93GR.MYKX(ZM,F,#?CQ_S*?NV\HY<%U3"5_"=+33;R!AY)84D+;NYD^15J M/WW+ETBNW2\IZ]S (TFAC^/0Z(8)6\5[H_ K0YR)OTL#I$?.R!UG M4OD)]_CIA.16"I-I\AD%I&\)?-R<9H?"UQV:A <99Y"'A 3KTMW<3#[K1Y=#?;*MM2>J%@R;IC:9> MHZEW4--6K;^UU_J4S N59'C?R#A)[,FQAV6<_L(3CCW!M%;ZX**VO5WI-4U@ MY&'_TJ VX,4?/W2BX%-;E2JR:,MW&+2[[C>N^X==Y[BZNP'83+%="+RO2H%( M7HA15&A.JT9UV&3_O:[=DKU/.;NX;-<>-=JC_SU%4U9!&+L^N!.?X$-1]?6_--4KU@)ZQK/^ ( -4' 9 >&PO=V]R:W-H965T'5L9CO0[M?O[*09+P%- M^Y+8YWL>/V>?[_IKJ9YU!F#(2\Z%'GB9,4[5ZQBX7 ^\T'LS/+!% M9JS!'_:7= &/8)Z64X4SOV9)60Y",RF(@OG &X77DZ[U=P[?&:SUQIC82&92 M/MO)73KP BL(."3&,E#\K6 "G%LBE/&KXO3J+2UP<_S&?NMBQUAF5,-$\A\L M-=G N_)("G-:4;>"0IM)%Y!48%.1/EG[Y4Y[ ! M".,#@*@"1+N ]@% JP*T7*"E,A?6#35TV%=R393U1C8[<&?CT!@-$_86'XW" M588X,_PJ#9 VN2"?I$S7C'-"14KNA*%BP6817T@T=N!C*.CC#>07))6>$ZB M(&HU")K\.SPZ(J=5WT_+\;4/\(TIIR*!II,I@1T'M(]U-0R#L!?T_=6FW :O M5A3$M=>6JG:MJGU4U2T3S,#%%WR!#O6TKK_F^#=O=2]"GM7.Z+VG;9? M02G*WZB0.:B%:QR:N.0L:T-MK7O3R)7D'?L8>U;98O[2E WOGJH%$YIPF"-E M<-E%3:IL(N7$R*6KPS-IL*J[889]%Y1UP/6YQ%I<3>P&=2&ULA53=;YLP$/]7+-2'5MI"0OC8*H+4-.O6ATU1LV[/#ER"56,SVY1L?_W. MAJ)L(^K_,2*JHGL@:!.SNI*FHP M5'M?UPIHX4 5]X/I-/8KRH27I6YMK;)4-H8S 6M%=%-55/U> I?MPIMY;PM/ M;%\:N^!G:4WWL 'S7*\51O[ 4K *A&92$ 6[A70_ M66'*A??!(P7L:,/-DVR_0%]/9/ERR;7[DK;/G7HD;[2150]&!Q43W4@/_3D< M 8+@#"#H 8'SW0DYERMJ:)8JV1)ELY'-3ERI#HWFF+"7LC$*=QGB3/9-&B A M>4\^2UFTC'-"14$>A:%BS[8NK MFW]I?"QQJ#,8Z@P<;WB&U]*-N>E0D4/9'_@UFWU,,/-U1&L^:,TO:85C6ATJ M/M9*DG!<*QRTPDM:T9A6>*HUB\_4%0U:T26M>$PK.M&*XV1<*AZDXDM2R9A4 M?')=T?S_$_2/NL$^+%^IVC.A"8<=HJ:3!.&J:]8N,+)V#;*5!MO-34M\WT#9 M!-S?26R2/K ]-[R8V5]02P,$% @ 8(A[6)+(PJ7." EVH !D !X M;"]W;W)K&ULK=UO9.&E?=.X++*TE)A*X@.SFVQ<0%@*M-D+W]R:QY',>+1+'QXAC M)<]\[3ZSE.6;^*RNIDOI\5S MSN-%D[193ZFBS*:;.$DGM]?-?1_SV^ML6ZZ3E'_,2;'=;.+\VP>^SEYO)NKD M[8Y/R7)5UG=,;Z^?XR5_X.67YX]Y=6NZ5Q;)AJ=%DJ4DYT\WD_?J5:1I=4(3 M\7O"7XN#KTF]*8]9]K6^P18W$Z5>$5_S>5D3OXJT4G^\>L M$P^_?M.]9N.KC7F,"WZ7K?](%N7J9F)-R((_Q=MU^2E[#7B[04;MS;-UT?Q+ M7MM894+FVZ+,-FURM8)-DN[^C_]NGXB#A,H1)] V@0X3]!,)6IN@G9N@MPGZ MN0E&FV">;CGQ\FQ#[K*TS*N]O2!_).6*W#4KX7E1Q3E)$2^7.5_&34ED3V^9 M!?G)X66?R0\D2\MNI$%;5+-)K$NJ6^W%+3LO3KZB]COK^==2EK^,#WR3S+%ULYV66DVH?_5K] M'O7G/=\\\OQ_HE=7RM6_@5T5S_&V/_U)GRK]%/ZN0F(/$ M7"3F(3$?B05(C"&Q$(E%(*Q78<:^PHQ+?U)*$\?6$A)SD)B+Q#PDYB.Q (DQ M)!;NL-E!ZY@9IC;H?)$@RM(I%?>7V7[OGTGW?E:UEJ+,DWA]3G.16F,+ HDY M2,Q%8AX2\Y%8@,08$@N16 3">N5E[LO+O+2Y2!/'UA(2UY5]:5>1)HZM)23F(#$7B7E(S$=B 1)C M2"RTC_J%;=G#(Y;C(%4QS9FXJ:A*=TY"D>[^_TF>.'F8)SR=\T+:6>30V'* M:@Y4\Y4FUT M;2 U!ZJY4,V#:CY4"Z :@VHA5(M06K_6NK/6ZL6GK>69H^L*J3E0S85J'E3S MH5H U1A4"UNM=_1"#^=]Y]O\Z3\)F\UT)/]4,V! M:BY4\Z":#]4"J,:@6@C5(I36K[#NM+]Z\7E_>>;HNH*>^8=J+E3SH)H/U0*H MQJ!:J!Z?VM=FEC7L-((H>C"1UZ^#;@! E4\ _%:N>$[NM^LR:4< OO.>&G0( M *HY4,V%:AY4\Z%: -485 NA6H32^L76C0.H%\\#R#-'UQ5T(@"JN5#-@VH^ M5 N@&H-JH2HXY4_I3P905=/U8>\1A%&JG^@]M!L@H/(!@K?>4_6<.2_D M+4=.C2T-J.9 -1>J>5#-AVH!5&-0+81J$4KK%UHW0D O'B&09XZN*^@( 51S MH9H'U7RH%D U!M5"*A@.T&UUV'($89IEF/J)EM,-$5#Y$$'_[SC;@YWZ+^3K MXY_S#G[DCS"Z8J"#!5#-A6H>5/.A6@#5&%0+H5J$TOKUUPT6T(L'"^29H^L* M.E@ U5RHYD$U'ZH%4(U!M9 >3PQH"CWZF*J>5#-AVH!5&-0+81J$4KKEUDW7D O'B^09XZN M*^AX 51SH9H'U7RH%D U!M5">CPX8"O6<'I:%*7;I]I--UY Y>,%WOI;>WKG MD9,X71"6_CI/\ODV*9MCG_ICPZ1-"#IN -4+KQ@WHQ>,&\LS1=04=-X!J+E3SH)H/U0*HQJ!:2(_G"&;VT;2!(,K4U5/O MOG7#!E0^;/!0K2Z9[_K/;M[MO'?/&X@SQQ=5]!Q ZCF0C4/JOE0+8!J#*J%5/A!!/KP$SR%8<;LQ+B! MUHT;:/)Q [?J.E^J14I[C=P86Q-0S8%J+E3SH)H/U0*HQJ!:"-4BE-:OL&[. M0+MXSD">.;JNH',&4,V%:AY4\Z%: -485 NUXP$"R]#LX9^-BL)T?7;B ]>T M;LY D\\9_.;>_T)86O)E'I=97C2'/$Y2E'GRN*U'#Z0]"#IA -4_=747K?7#MH7;+J/\V62%F3-GZJ'4MZ9U5KSW560=C?*[+FY>,UC M5I;9IOERQ>,%S^N ZOM/65:^W:@?8'\MJMM_ %!+ P04 " !@B'M8]WIE M1&(" !S!0 &0 'AL+W=OU!L)M8J2YXD)QVPCQ\E.U[:)7FQ M1(H\/$Z4?C EHH7'2D@S"4IKZW$8FKS$BIF!JE'2R5KIBEDR]28TM496 M^*1*A$D4C<**<1EDJ?3X"8>3Z]G#&73$) M(D<(!>;6(3!:MCA#(1P0T?C5809]29=XN-^C?_#:2TD:J5UT" M&/)6<:'G3FE,?>6Z.B^AHOI2UB!P925510V::NWJ6@$M6E'%7=_S8K>B3#A9 MVL[=J2R5&\.9@#M%]*:JJ'J_!BZ;N3-Q=A/W;%T:.^%F:4W7\ #FJ;Y3:+E# ME()5(#23@BA8S9T?DZM%;/U;AS\,&KTW)C:3%RE?K7%;S!W/ @&'W-@(%%]; M6 #G-A!B_.UC.L.65K@_WD6_:7/'7%ZHAH7DSZPPY=Q)'%+ BFZXN9?-3^CS MB6R\7'+=/DG3^4X]A^0;;635BY&@8J)[T[>^#GN"2?B)P.\%_E<%02\(VD0[ MLC:M)34T2Y5LB++>&,T.VMJT:LR&"?L5'XS"588ZD_V6!LB4?">W8@O"2,5 M'UCG2S"4<7V!\T\/2W)^=D'."!/DL90;346A4]<@B@WHYOVVU]VV_B?;+B&_ M),'D&_$]/QB1+[XN]S_*72S 4 5_J(+?Q@L_B7=/&RRJ <4H'\VFDT>MW%Z, M;3:)9F&2NMM]Z!&O.$G^>WU@"P:VX"3;,UX#6^U:R1ST*%T7(/Y %P<'<,=. M?ACXXVSAP!:>9-L=DW>22[S8:P$%,9)(4X(:)0V/(&:'13QVB6;CE-% &9VD MO&&"X0TIR%K*\<,:C=0F\0[ CIV"21*/H\4#6GP2[5$:RO'K#K=MC"X^.E;8 MHY/9 =Z(EQ_%T0&?N]&ULO9Q;;]M&$(7_RD(-B@1( M(I'4S:YMP!&YVQ9Q8L1.^E#T@9;6%E&*JY*4+T5_?)<4+6HE:J1MCOMBZ\+Y M9L0Y6 Z/1)X\J/3/;"IESAYG<9*=MJ9Y/C]NM[/Q5,["[+V:RT2_1PE\C)EV6(V"].G#S)6 M#Z4232321:IA*7R]K1U[AP+ M[Z@(*+?X%LF';.TQ*S[*C5)_%D]^F9RV.D5%,I;CO$"$^M^]',DX+DBZCK\J M:&N5LPAMH:MMA$WH:+./^B'GZ6U0?J%;RQ MBK/R+WM8;COP6FR\R'(UJX)U!;,H6?X/'ZL=L1;@]'<$N%6 NQG0W1'@50'> MH0'=*J![:$"O"N@=&M"O OJ'!@RJ@$'9K.7>+5OCAWEX=I*J!Y866VM:\:#L M;QFM.Q(EA12O\E2_&^FX_.R3RB4;LG?LH]0-S=AK7^9A%&?L6C[FBS!^H]_Z M>N6SUZ_>L%'%X=I=HA;<2DE?RNCMXG^F*A;3^S.GUQ^]NP MD=MUS(U\LNABG3_.YN%8GK;T0I[)]%ZVSG[\P>EW?FKJ)Q+&D3 !@AF=[ZXZ MW_W>SC?U> GMK[6O>S3<[/'V1KW!H+/18[(\VQXC81P)$R"8T>/>JL<]NQY_ MC,*;*([RIZ;6]K:[UBT6&:.U9$++?>,C80$2QI$P 8(9$NBO)- G)1 D]U&J M$CV&YF&LQX/Q-%&QNHOTT*#' B'U7)@\L=\OY.Q&IG\TR8+D6^Z*$1+F(V$! M$L:1, &"&?(9K.0S(.7S4>H#@5XXME:2:ZTAFN]#)\B:EBN'7H.=H8%T9D7MN^ M(V'!<&NBW2R>(_,)$,SH[]&JOT? B>)H[YX9D>ELVXJ$!?N+Y\A\ @0SVNIT M:D.A0S;V,E5CO=9O30C!(E5SN1H0V#_L?)&KF=)-E\\:^)Q( * T M'TH+H#0.I0D4S138FF/EO/PD0>>P5A*2YD-IP9Z]Z?79DPS3QF$"6HA T4S9 MN+5LW!=:ES)Z32+36BL)2?.AM !*XU":0-%,<=7FI_/=[F>C=I FX A*\YUM M?W7370T:MO$V1QMH50)%,_M<6YV.I==)3JTTS+J]2)I?T>CV;F^SW5ZHQXFB MF>VM74Z'MCF_9W:]?E#T<0+I!(Z@-!]*"Z T#J4)%,T46.VA.K2)BIE=H48J ME.;O^?S=XV_*[4(I]JH>1ZE(C"9_6HA%YPH&XI ME.9#:0&4QJ$T@:*9RJE=5(>V43$+#IU#GT+N-*1'=*RU;J!^*Y3&H32!HIFZ MJ=U9Q]*>/?"$9MOK[/9Z&TXMG=I:$E"O%DKC4)I T#@NNU^,)5=:%N%AM !*XU": M0-%,\=3^K$O[D__UR )U9"N:\?OIS>L:H!D#*(U#::*B]9KWAMGGVE!U:4/5 M\G !=5(K&MU>J#\*I7$H352T@]I;NYXN[4AN?CO';E7*OD4369RLTC]2I\G6 MO8:ZGU!: *5Q*$V@:*9^:O?3I=U/S'DITOP;06D^E!9 :7Q/;[K#W=\V"%0E MYB60M47J65JDAXT/--56*17-N++.W;PL$FJ50FG<:W".-^H7J(QFGVL#U*,- M4+OQ@899M]?9NWM\:,8 2N,'U"]0&X[U*N$T@(HC4-I D4SM;1V63SM54)&"3J'M9+HBOON M[@.L#ZTD@-(XE"90-%,WM:'I61J:!XX22"MOY&W[I$?;!QNHLPFE<2A-H&BF M)&IGTT->A$_#K)70.T0)4)L22N-0FD#13"74-J5'VY2'#2AQI-].HCU#"M2Z MA-)\*"V TCB4)E T4T^U'>K]#Q?GTSFLE417[ VH(07JGD)I'$H3*)JIF]IG M]5[D(GV::JV4[P>6B"6J=0&H?2!(IF2J*V3CWD=?TTS%H)V[\^;5 " MU/J$TCB4)E"TI1+::S<9G,GTKKQ_9,;&:I'DRSOVK5Y=W:/RO+PSX\;K'YSC MT?).DS5F>>/+BS"]BY*,Q?)6(SOO![J3Z?)>DLLGN9J7MS*\47FN9N7#J0PG M,BTVT._?*I4_/RD2K.[H>?8O4$L#!!0 ( &"(>UC)]FDJ'@, "(+ 9 M >&PO=V]R:W-H965T=7IBG\$!(JZFP.*;Z9,IY0B5L^,\6< PVT41*;CF6U MS(1&J>%U]=D-][IL(>,HA1M.Q"))*'_J0\Q6/<,VU@>WT2R4ZL#TNG,Z@S'( MN_D-QYU9H 11 JF(6$HX3'O&M7TUL"UEH&_\B& EMM9$29DP]J VGX.>82E& M$(,O%03%QQ(&$,<*"7G\R4&-PJLM4GR 4U%9[/8J%_R2J[VVH:Q%\(R9+<&!DD49H]Z6,>B"T#YY"!DQLX M>P:V>\"@D1LTM-",F98UI))Z7R70.>+0=,F*I# 7YD 80[ *82+_0X*PU])U*Q"'X==*PWQ''@9V$L%\"48WMLW=LMZ7U%/K2(@K=,"$D3"9XM4$BPS*-.= MX6%OW63%JEMN:R]WE6Y?**I=B&I7BAIA1I-%0GZ-()D _UTFHQ+A>'Z9V%<" MVQ';*<1V*L7>TA33QJ:EI2R.J^5J#\?4<"7""R-P643@LCK=]/'9=%#G=H;$U/*6HAG$_S(%XYG,@(.&VTL*#Y> MX!HX-TZ8QY_!U!F91K@__G#_UA6/Q:RI@FO!?[-[[S 4 M%!F_C>"J^R6[?F\2.633*BVJ08P95*SNG_1U>!%[@B X( @&0=#EW8.Z+%=4 MTV4FQ8Y(LQO=S* KM5-C7/X4&DI)S<@-8F\+!+=6M9)IA M((I^FMPPNF:\GSQ=@::,JS-R0EA-'DO1*EKG*G,UYF-%(RL\QHIMK'#"FL]\.RH:4=$Q5&)#11-4 M$A] Q2,J/H9*;:AX@IH=0B4C*OD4]5@"=JY"@[0!DPDP2D,[,!V!Z>= H2DG MO#M##7W#;J:MYR2=HN=A8F?/1_;\4_8-*$58U;0:TKWO'2K3W!FQS#* S^/QKN7DLSU\,ME5M6*WR7!!Q^5Q.5^I]$JBY;2>/_@6/+ZU2OM3>4232721:IA*5R>M&Z M=#[Q;L<4%'M\C^0JVUIFYJO<*_7#K/PYN6AUS!')6(:Y00C]]BC',HX-21_' M?R6TM6G3%&XO/]-Y\>7UE[D7F1RK^.]HDL\N6L,6F\BI6,;Y-[7Z0Y9?R#.\ M4,59\F5![]@"KRSPCBWHEP7]HN_7G57TM"]R,3I/U8JE9F]-,PN%7$6U[N H,6?6 M39[JK9&NRT=?5"[9D'U@?TFM3_:\P*[4))I&H3#R9^RM+W,1Q=D[O?WNQF=O MW[QC;UB4L-N96F8BF63G[5P?C6&VP[+ES^N6W0,M^S+\R+K.>^9VW.Z>\C%= M?B52LMP_OG5W3WE E]_(A2[O'"SGQQ_\3GE;"[A1T=VHZ!:\W@'>K1QY/=/BXW9'DVQC;9^RA0CE14M[5R;31]D:_?J+T^_\MJ_;D; M">,@F"50=R-0EQ3HZT*F^EI*'M:7UWM66/@'-?UPIR^VRRR3^3[YUM#^EGR] ML^%@1SZRY:;R=>LGS�L5L,D"UR$,R2I;>1I4?*$B2/4:H2_4NIKQ]V*\-9 MHF+U$&DCU.;VN]0_7']:'/%5[5J>?;3K][#7\CH0V ME00)\\]>E@39'C\[6A*G4]WH=DA1+I?Z7EK=1[%\5N5K0GL=#6PJ")3F0VD! ME,91-%OHK43#.RLT"('2_))FQ6@[&6A0[N,1^W#44=E]7R47#AU=G.J8R!AA M#*7Y3CUUJ2M3CUWJRKQ&NN%4\89#YQOUH>7M2M'VAPP2QE":#Z4%4!I'T6RA MJ]#$H5.3P_8WJ)_(SNZP!!IW0&D!E,91-%NE*O)PZ,SC5*.L!P]U#:%)!Y06 M0&D<1;,UK!(4AXY0-LFD&5)>AN'2_"T3LE):E9C$'_LZ&1#)3FES3K_XK:: ;:)$?1;)FJI,6EDY83C9:F M-A81FMBX]8QHCXC0( 9%LT74+0E 5*"Z TCJ+9,E4IBTNG+*?Z MZIZI"F66U>9PZJ$M^R+U:QJ;:>JTS4+GQ$!I M/I060&D<1;.EKZ(BEXZ*#MML?=J*T^WOCH>@F0Z4%D!I'$6S)\!7F4Z7SG1. MG0+?J5M9342ZZ<9SX*%S:Z TCJ*M16QO/3AD'B2[$NE#E&0LEE.-[WP);I7>:[FQ>),BHE,S0YZ^U2I_'G%/)ZT>4)N]#]02P,$% M @ 8(A[6(JSEO&I @ ^P< !D !X;"]W;W)K&ULE95K;YLP%(;_BH7ZH96VT2I#:1-,F[5+ULGUVX"18-3:S36G__6Q# M619(E'T)OKSOX3DG^'C>-HH3!G4"RJ2HLWFZ!\G;A^,[[ MPCW9ELHLN-F\QEMX /54WPD]BOX2:"5.V-D M,EES_FPF7XJ%XQD@H) K$P'KQPLL@5(32&/\[F,ZPRN-<7?\'OV3S5WGLL82 MEIS^(H4J%T[JH (VN*'JGK>?H<\G-O%R3J7]16VO]1R4-U+QJC=K@HJP[HE? M^SKL&/SH@"'H#<&IAK WA#;1CLRFM<(*9W/!6R2,6DZ[9"" T@KR"]1Z'] @1>$$_;EZ?;@7[NK MBS-4*!@J%-AXT8%X-WDN&BA0BX7 3+U-)=1%B&T$LB1*Y^[++O6$9A8. MFG_0P@$M/ E-X5>8+'1G3W;>&<_VL,:2] !5-%!%1ZG>OY.:"WM2^<:<*]"+ M!=J:$J):\!Q@^MN(QLCQ'O)8$J;3R/& ')]42,(4")!J"BP>@P5[8&-)XD^# M)0-8\K^US#E3A&W-JAY*4H# 9F^*.1D!>7O(8T481-/,LX%Y=I39=HLIFMFX M/,G5'L]8$Z;Q-$\Z\*1'>1ZYPA1QV\/ROI[T;P^;(DU'9]6/4G\/=4(4)_NU MUC52%TD1 4 (\D 9 >&PO=V]R M:W-H965T;N=SI80T_2$K2"15^:,QU3(4[YHIRL.--!&<=1V+*O? MCFF8M,9#W7;#QT.V%E&8P TGZ3J.*7^90,2VHY;=^M%P&RZ60C6TQ\,57< = MB(?5#9=G[8(2A#$D:<@2PF$^:EW8Y[X]4 ;ZCC]"V*:E8Z*&\LC8DSJY#$8M M2_4((I@)A:#R9P-3B")%DOWXGD-;A4]E6#[^0??UX.5@'FD*4Q;]&09B.6H- M6B2 .5U'XI9M?X5\0#W%F[$HU?^3;7ZOU2*S=2I8G!O+'L1ADOW2Y_Q!E P< MYPT#)S=P#C7HY :=0PVZN4'W4(->;M [U*"?&_3UL\\>EG[2+A5T/.1L2[BZ M6]+4@99+6\L''"9J9MT)+J^&TDZ,?V,"B&V1K\2%1T&.7! TC%)R#\]B3:,O MY!,)$W*_9.N4)D$Z; OI5)FV9[F#2>; ><.!"[,3XIP=$\=R;/)PYY*C3U]J M,%,SYO>9D)C!NQCW (S=>Q?C'3"HCJTQ'0/&-V/N8"4'96F,4X]I2ST+49U" M5$=SNV]V3TIYF:2"KV42$,=DRC:04'5T2V5 $S:734G*HC"@ @+BKY- _F@[ MP:K7O,GEO7M1)[RQ$RHEGJ)LS/8+9=TM,^<7KUDG8+2;M&26628H_ LQQUL> 2EGR]S7$LOD?\B^Y M_DSCU;=[,J')4]%>IZG145--,6$N)LS#A/E(L(KTO4+Z7K-HO@<>DZ._@/*Z M]65BI#75%Q/FFL?9(R]R2'7;"0^S%SX2K*)EO]"RWTS+RT2 ="-4"@:UK?(V M*J[E8NQF6^$ZA8T^FBJ,"7,SV*"4^JP3RRE27Z8FIDZ8,!<3YF'"?"1897X,BODQ,,Z/ M*WFN]]55C8_)-7T.XW5,)HQ+I)X&5/9"7JN3W>BDJ>R8,#>#]Q7O MF"Y])%A%S[-"S[,/BG>]9.OW:E-\&[TW%1H3YF+"/$R8CP2KS ?;VE5*K&;K MN8QQ(!U*[<9UU1B5)J;T\K1[/3VHQG5J8]%J^I7JG39S?1S.=V2&^ A M"PQ;;#.UL8R8-/>=$3MO[[)1^^%CT:K*[LI=MKG>=2DZ)MY\#OJ/#2HP9_(.NH!:O5"K53E-):CRRTS'>2TL:B7J M#:^GW:I7'\MK5;)=-AW 'U&&LG=U*-M:*5N/W&=22%"K-1:5YJ#0_IY43 M1,\J[RVK^NT*3K:YXK2GWT.R3F68[Q>:CDVJHE:<4&DN*LVS]RM8G?T*EH_E M-%.U7?HT0WVJ&ULM5==3]LP%/TK5H8F)K'FHY^P M-A*T3$.B \'8'J8]N,EM:Y'$F>VT[-_/=D*:TM2%JKPTL7W/\3EV?7/=7U+V MR.< CW%4<('UER(],RV>3"'&/,&32&1(U/*8BQDD\ULGC+ H0;%D>TY3L>. M,4DLOZ_[;IG?IYF(2 *W#/$LCC'[=P$170XLUWKNN".SN5 =MM]/\0SN03RD MMTRV[)(E)#$DG- $,9@.K'/W;.@V%4!'_"2PY)5WI*Q,*'U4C:MP8#E*$400 M"$6!Y6,!0X@BQ21U_"U(K7).!:R^/[-_U>:EF0GF,*31+Q**^<#J62B$*7WZ PU%9\ 8VX_D7+(M:Q4)!Q0>,"+!7$),F?^*E8B K [6P!> 7 >PEH M;0$T"X!>.3M7IFV-L,!^G]$E8BI:LJD7O38:+=V01&WCO6!RE$B<\+]3 +L MCQQ[N!^AXZ-/Z B1!/V8TXQ+2MZWA92L)K:#0MY%+L_;(L_UT)@F8L[191)" MN$Y@2Z^E8>_9\(5G9!Q!T$!-]P1YCM>L$31\/=PSR&F6Z]_4?*TM?)M+?![3 M+!'5?:A;MIRUK5G545WXKN/T[475B3EF36ZKE-LRRAT+=(TS!E&YV77BC!PJ M,9WQ% H+D7\=UZIP:\7LZ[91..V]R>OF4$H9UIMUFUTQXGDJ[34?; M]5IU=HWX/>UV2[O='<=.IO[7F#335$TVW3J31OR>)GNER=Z[Y);>1MYHOTPM M>4BG/F1-[&DI]G3'\4CXE$ 4&C.+D>.MF>5 9&MV76?UX74.F%MVD-T$0B:7 MKB&YF GV=5LI,]Q#YY<=C.67>&N",1/L:]E;6?8.DV-V\+S"J)%@7Z.K$L9] MGQK&W2Q0-A*-.287;%?*WQC83-\*. J4AKP2+GO+F\>YKK?M57A^;9$?Z1E) M.(I@*J%.HRLG9OE-(&\(FNIB>D*%+,WUZUS>GH"I #D^I;*@+AIJ@O(^YO\' M4$L#!!0 ( &"(>UBH(ESA#0( ,T$ 9 >&PO=V]R:W-H965T04WU3#8@ M[$XI54V-#=4>ZT8!+3RHYIB$X0+7E(D@2_W:1F6I; UG C8*Z;:NJ?J] BZ[ M91 %AX4GMJ^,6\!9VM ];,&\-!ME(SRR%*P&H9D42$&Y##Y'=ZO$Y?N$'PPZ M?31'KI*=E*\N^%HL@] 9 @ZY<0S4#F]P#YP[(FOCU\ 9C)(.>#P_L#_XVFTM M.ZKA7O*?K##5,K@-4 $E;;EYDMT7&.KQ!G/)M?^BKL^]LJYDJZDH=(J-M>2(<3[(KWIY>,SO)8NGG+3HQ*/ZB_Y(U9X)C3B4 M%A?.;BR!ZB]/'QC9^(;=26/;WT\K^]Z <@EVOY2V:8? W8'Q!FZ0='N)18KGD(<1F>R%?%4EHH9#Q;B:>*76NUO?5UF)%5$CL4-N;@HA M*Z*-*;>^VDDDN0-5S(^"X-JO".5>FCC?4J:)J#6C')<25%U51+[/D(G]Q N] M#\>*;DMM'7Z:[,@6UZB?=TMI++]CR6F%7%'!06(Q\:;A[7QLXUW "\6]ZIW! M*MD(\6J-AWSB!;8@9)AIRT#,YPWGR)@E,F7\;CF]+J4%]L\?[/=.N]&R(0KG M@OVBN2XGWHT'.1:D9GHE]C^PU7-E^3+!E/N%?1L;>)#52HNJ!9L**LJ;+SFT M?>@!PNLS@*@%1,> \1E W )B)[2IS,E:$$W21(H]2!MMV.S!]<:AC1K*[;^X MUM+<4H/3Z4^A$<(0OL$#ST2%\$0.J.!R@9I0IN )#[HF;& "GM<+N+P8P 50 M#D^EJ!7AN4I\;R&L)NZ13IF9$L(S',(""Y02 M<]M@F"J%>FA;;B9/H6UW%I@4TA-[WJ@U$4'DG\1U"CT>]-1(5RZQ:%@LRVMGE7G;?;15,W@D?^ MF=E1S4KY2],LN$ZUA$W2;._T#4$L#!!0 ( &"(>UA23X1I;P, -8/ 9 >&PO M=V]R:W-H965TPDS;B8*-ORI<3.^[P^MH\;G\Z6LE>^ A!HE\2$ M=XV5$.NV:?)P!0GF5W0-1+Y94)9@(9ML:?(U SQ/H20V'.]XC)8KH3K,7F>-E_ $XF7]P&3++%SF M40*$1Y0@!HNN<6VW[WRE3P7?(]CRO6>D9C*C]%4U)O.N8:F ((90* 1C&D O>?W]U'Z=SE7&:8PPV-?T1SL>H:30/-88$WL7BDVS'D M\TD##&G,T[]HFVLM X4;+FB2PS*")"+9+][EZ[ '2!\]X.2 A]$M8DHO_=1#FJ =<-H>8D8@L.>J#/+=P^/IR )',?\DA2]/ W1Y\0E=H(B@YQ7=<$SF MO&,*&9T:PPSS2/I9),Z92%QT3XE8<30DUZ3NE MC@,(KY!K?T:.Y;B:@&[*\2=82]PZBP_*\>F&E.+#L]+@1]7G[FCPV^IS MU^'CZG/7X9/J<]?AT__;][M_7KJ#-'2+(^JF?MXY/WGNN(A"W9$J)=77N,W7 M.(2N(3^W'-@;&+V/'^S ^JI+YSK-!G6:#>LT&]5I=ENGV;A.LTF=9M/,S$_- MU"7MK=<*+*MCONT?"XW(;_B%Z"#YO2+YO=+DE_2LBNMPO!?\V]^LT&]1I M-JS3;%2GV6V=9N,ZS29UFDTSLV OK6W/:Q[E_JG(;UCZU/>+U/=+4[^X@'T/:#X##:FU.1TU"?NGW1X%3DNH%_*!KJ1"WO M4#32B)I-^U!TJQ%9;NM0--8$OK_.V>Z?B@+_*.ZI9IELZV17-2K+]H[_I9E[ MU^\$V#*M$#D*Z8:([#-?]!9%Z'5:>QWU]^WVQ-;T3V71FEWW_]AG%:^\Z2PC MPE$,"SF4==60L;*LBLP:@J[3R_^,"EE,I(\K67@#4P+Y?D%E 9 WU !%*=_[ M#5!+ P04 " !@B'M8,5-:&)$$ #W(0 &0 'AL+W=O L=IKNOU]S*9,0!R7=\Z7!YKP/MCDOX-KC+2U_L14A'+WE6<$FRHKS]8VJ MLOF*Y F[IFM2B#-+6N8)%\7R167KDB2+6I1GJJYIMIHG::%,QW7=0SD=TPW/ MTH(\E(AM\CPI_[TE&=U.%*R\5_Q(7U:\JE"GXW7R0AX)_[E^*$5)[2B+-"<% M2VF!2K*<*-_PS7=<"^J(OU*R93O'J.K*,Z6_JD*TF"A:U2*2D3FO$(GX>25W M),LJDFC'/RU4Z:Y9"7>/W^E!W7G1F>>$D3N:_9TN^&JBN I:D&6RR?@/N@U) MVR&KXLUIQNJ_:-O&:@J:;QBG>2L6+:K :@76J0*[%=BG"IQ6X)PJ<%N!>ZI@U I&?8%][,9I[W=.._4: MN+O93=(U65*GF)?P9#HNZ1:55;S@50=UGM9ZD5EI45GJD9?B;"IT?/HGY01A MC*Y05,QI3M!3\D;87A'Y;\+ C*"+6U*09))F[%($_GSTT,7G2_09 MI05Z6M$-2XH%&ZM;XI!N3\LOT_* MP<8'I_==E\AGI_==)@]/[[M,'IW>=YD\_G_W_?N'AVXO#8W.HD;-,X_QA \9 M3^?HRR=7Q_@K"LB"E$DFL]@@J7H]W[!U,B<31;Q_&2E?B3+]\@G;VE=9>D/" M/$B8#PD+(&$S2%@("8L@87$#LVI8]=7V.M6Q,1JKK[LVD02Y([T+VC.#V9G! M/,\,C">$R0QMB$W M@M49P1HT@IA0B.E"(&YF0\)\R!A/B0L@(3-(&$A)"R"A,76059;>C_S M#V-TVY%GOMUEOCV8^4^4RS]^!F7GYCTDS(.$^9"P !(V@X2%D+ ($A;;ASGM M[CS.F\0_##),_S@PLT%QCDG&L&2)@'"?,A80$D; 8)"R%A$20L=@\? M^KCGA,.0*SS2Y$88=488?70N,"@\-_,A81XDS(>$!9"P&20LA(1%D+!X)'O MV[W,'N)5)5GE/Y\I%EXK#PL/=ZX0O?[K2YX"_G)=VR!Z:_EO<2 MSOPF2\IS5B@N"B399N'=X.M;$IJ 6O&-LX,Z.T9F*&LAGLS)7;KP D/$,I9H MDX+"UY[=LBPSF8#C^RFIU_RG"3P_?LW^1SUX&,R:*G8KLG]XJG<+;^JAE&UH ME>DOXO G.PUH;/(E(E/U)SJ&&F\4%+^)5#G%Y^$IHA MC-$(W16)R!EZI,],P>F*;9B4+#47T(U23"M$BQ3]Q>F:9UQS4+U?,4UYICZ M_NO#"KU_]P&]0[Q CSM1*5"KN:\!TOR5GYR /AZ!2 _0BB57*,2_(1*0T!%^ M>WDX>1ON0VF:^I"F/J3.%_;F.Y5!0QEH789KUZ".62)W%K,6KU5)$[;P8+$I M)O?,6_[Z"XZ#WUU#_$G)W@PX; 8<#F5?WM*2:YKQ?V',)CN5R:Z>^)3M8=&7 ML(0U2H32SKD]YA[7N4T'V2])2(*YOS\?GBW")&Y%;["C!CL:Q/Y<,DDU+[8H M8["J4=;>IB[.8[+X#&$ZGG4P;0W&9.S&'#>8XT',FR21%51V3Q-:M[&2OM35 MA86>/(U,0TJANCET:54+7/!C"RP*PPZ\0Q/WL,<->SS(?E?L8>Z%["EI;/UC M.!MWJ&Q-'! WU:2AFOR 2M-BR]<9.RU/%]O$9HN[TVUK<-1S4TX;MND@VR>P M8='>F$)!RU2:0L#"93?' !3RT8$G6+Z=!,>Z9XU@#/?G![?J^XXO6= MV;O&9_:M%770')+838:#UJB"8;8,MART2)@I'$I%M=:;*H-]0"*JPDUZRCB( MZM*$/:QGIHHO6N8'*B4M](L3#MOS%W?A;,TXZH%K'0T/^L?2&'H"EL:ACP/? M"Y03.'N\FE@ W6[ND$QG/8RM">%A%_JL=TPZ@4*[A9 ND:WI6MI-O-*N./D)?5X>3T7:#D=U/G"HRZ6%L M70,/VX9C!^5DM+TA&H^MJ76XS'3:8R&X]1 \N7R7=[9U<&[U\* A_=^]WL_* M]G;DK4/A88NZR#ZQ;34C/(NZ#NJ2$1S@GMEI30D/NU+];#D2FU&E!BEMUQE- M[.;@4,UF/>Y$6G-$/KUQ+Q3:-XA+?\#4$L# M!!0 ( &"(>UB_L>QN-P8 "TO 9 >&PO=V]R:W-H965TRT,VVP#38D2YAIXGNWEPGM[F=AB^"IL:@D M(-E?O_(E#ABA@=WS);'%>1]+MM[1T66RH^PG7Q(BT-,J+_AM;RG$^J;?Y\F2 MK#"_HFM2R%\6E*VPD+?LL<_7C."T$JWROF483G^%LZ(WG51EW]AT0C[XC.=W=]LS>2\%#]K@494%_.EGC1S(CXL?Z&Y-W_9:29BM2\(P6 MB)'%;>^C>?/)M$M!%?%71G9\[QJ539E3^K.\B=+;GE'6B.0D$24"RW];OQJH+WVF:5P__J%[E>-EXV98T[N:?YWEHKE;6_<0RE9X$TN'N@N)$V# MJ@HF-.?57[1K8HT>2C9$(P: 2# M"Z*W!.?3CCYGJ7E)U,1<+/)TPND.LC)>\\J+JIY5>]JRL*"TU$TS^FDF=F'ZA@B#3 M1!]05"1T1=!W_$2XO/46"U)U][($/6 9]K' ^3//.,)%BAY(0HLDRS-<68,N MD/>TE@J2HIG 8B,H>ZYE;UTB<);S=Y+Z8^:BMV_>H3*3OI!- M*2O43YIJW]75MDY4>X ^TT(L.?**E*0*?:S7FY8&T)?OL'V1ULN+O+.T1)680T4%;K7RV=D+>7&2;FKE\>;0BOW]/+/F&DK[Y_?=DLA#\YONTH> MGM]VE3PZO^TJ>?S_OONG__SJ#KKAH/7SH.(-3_!:$V:UG84T+Y%E!2<("_3C M:G:%>.M/)OVI,I_V&>4H?\/7."&W/3F,<\*VI#?]_3?3,?Y0=7Q(F L)\R!A M/B0L@(2%D+ ($A;7,+N"E.>=9FF&6$>68I&5>:@M(F L)\R!A/B0L@(2%D+ ( M$A;7,&>OQYOC8<<5BAAKI#:%W9K"UIKBR]<_48(9>Y9^V&&6442- M3TPTS+UM2%,_H"SE%(/P; Y+F@M(\4)H/ M2@M :2$H+0*EQ0WM<%6V:PU%C#,XX0WKU1N6UAM^DU+M;>F5&W: T'Y06@-)"4%H$2HL;VD'G-[J+5*J@X:G1XW73V]3O M>L^: UJ6;;2;>3*[RK;50E6[>M48J)G JY=T]4^ZV#6@F]^@- ^4YH/2 E!: M"$J+0&EQ0SO(N:R1U;6-(LH^.;*\[H*;^FWPKV))F-(%H%O=H#07E.:!TGQ0 M6@!*"T%I$2@M-H^WL_=Z=^.!XY@/YJFAXW7/V]1O>D='YZ24?K"/#J&89F>9 M[5X1-!PZAT&N(LCNVMU3!G7F8;XBR!ET@@(5R;0/@T)5Q>W.@8-($33JY+^Q MZC6-#*?[(151SMX!A_I+]O<.M:X(>ZS.77.4T$TAZO-P;6E[MOMC=:*Y4WYG MWD2FHCPNSX)7AVA?\?5!\L^8/68%1SE9R$<95R-955:?S:YO!%U71VKG5 BZ MJBZ7!,N,HPR0OR\H%2\WY0/:$_+3?P%02P,$% @ 8(A[6*>XI8=Q&0 MP-L! !D !X;"]W;W)K&ULY=UK4]M8@L;QKZ)B MI[:ZJ]+!DB] ;Y*J-+K?E:1[:FIK7RA&@*>-Q?BXLVK?%7. M9XLL+I3EZNHJ+;[^ELWSSZ\/U(/;3[R;75R6]2<.W[RZ3B^R]UGY^W5<5'\Z MO%/.9E?98CG+%TJ1G;\^>*O^FAP?U0/6C_ACEGU>WOM8J9_*QSS_L_Z#<_;Z M8%#/*)MGT[(FTNH_G[+3;#ZOI6H>_VC0@[MCU@/O?WRKF^LG7SV9C^DR.\WG M?YV=E9>O#XX/E+/L/%W-RW?Y9SMKGM"X]J;Y?+G^?^5S\]C!@3)=+!JMKCY;_JE^4;<&Z".'AB@-0.TS0'#!P8,FP'#KD<8-0-&70>,FP'CK@,F MS8!)UP%'S8"CK@..FP''70><- -.N@Y0![>OW*#SD+L7>^O5'C\TY/;E5K=> M[P>'W+[@ZM8K/GEHR.U+KG9^S=7;%UWM_*JKMR^[VOEU5V]?>'7]RA_>_%RM M?RCUM$S?O"KRSTI1/[[RZ@_6/]GK\=7/XFQ1A]#[LJB^.JO&E6_"O,P4=:C\ MHKPO\^F?O]0_T&?*:7Y5I=PR7>=$/$\7RD]Z5J:S^5+YD'TI5^G\YVK$[^]U MY:>__*S\13E4EI=ID2V5V4+Y?3$KER^J3U8??[C,5\MT<;9\=5A6DZT/>3AM M)N;?3$Q[8&*J$N2+\G*I&(NS[&S'^$ ^?KAO?+CG^)H$.*R^RW??:NWV6_V; M)A7?KBY>*MKHA:(-M.&."9W*AP?I5V5P_.!H?=_HXJ5LN"$?KF?3E\I070_7 M=@PWNQS]Y,'A5O?)[QINRX='T[(:?C-Y=<=P1S[<72U>*NKHP>%NA\FK@P>' M>]W_U@QV_1AU&-Z\<+N&!]U?]UU_;<*G#8^>]K8BBIV6FF.FL4/Y(YZM, M^:D:50)B0KI.[=)T\=[H:_UC-RJ^* MLUB6Q:K^PE*)RLLJ),O+=-%F[Q\WO_K?R]XV7W<%J73>?8.4Q'02,TC,)#&+ MQ&P2AQAPC=\0;]SJ7HQYU+T2_7LZ)Y5__F+:2'WS*23J9O MVI*83F(&B9DD9I&836(.B;DDYI&83V(!B84D%LE31QT\^ 943$XC@3 A6D_N MHO7DN:-U_9_U+_&SQ<7^=)7.IV^ZDIA.8@:)F21FD9A-8@Z)N23FD9A/8@&) MA206R8-G]'"XDK-(($P(5W5PEZ[UI;^29_FN2L5B-JU/;ZZO,I7^EB^W^D8C MJNFH9J":B6H6JMFHYJ":BVH>JOFH%J!:B&H1JL6HEE":F)[WKM!7G_WW_FYO M06V^_;]^6__FROZ=BUCYQ'M'-:GIJ&:@FHEJ%JK9J.:@FHMJ'JKYJ!:@6MAH MD_MO[!^-)NK&&U(['J9JP_%P\TTI='()I8GIJK7IJCUN;:K\2S&NKN?YURQ; MRA>LT@/T3D%2TU'-0#43U2Q4LU'-0347U3Q4\U$M0+40U2)4BU$MH30Q4MN> MD]JEZ/0MSZ;*)]0[@M&"$ZH9J&:BFH5J-JHYJ.:BFH=J/JH%J!:B6K0GAB3G M5M%Y))0FQFW;=ZIO!O#(%:RS.,NJ_#VKHU6?%=FTS(L]JUGIP7I'*:GIJ&:@ MFHEJ%JK9J.:@FHMJ'JKYJ!:@6HAJ$:K%J)90FABO;;U*[=*O^J:K6;0CA6HZ MJAFH9J*:A6HVJCFHYJ*:AVH^J@6H%J):M">&U/5J=F?:HF4K2A/3MJU;J?*^ MU>,7L]4#]I8,/E0?3R\S)5ID\D4P6JY"-1W5#%0S4:CFHUJ :B&J18UV?.\ZA,%+;;QY%0):[*(T,5_; M:IKM^E2V$3R]GV;EB?,FFJ_H6SDIT?CZ;9H62+LZ:KYFS M167-TOG=UZ3+7;3KA6HZJAFH9J*:A6HVJCFHYJ*:AVH^J@6H%J):A&HQJB64 M)L9Q6P=3G[T/]ER7W*+%,533&TVX?O"X^I_X#[>!'M3<<5!M,#K9N&;10@]J MHYJ#:BZJ>:CFHUJ :B&J1:@6HUI":>)=\-LVF"9O@WWC<,WVWDE+/M^^F8IJ M>J,)MQ(:;(2;@1[2W'%(;;!Q^TP+/:2-:@ZJN:CFH9J/:@&JA:@6H5J,:@FE MB7G:]L.T+OVP)]VB\/W-[BW.E, TIGO_6^0N'>!0J*GW^N@OI=K>V,9+2$AFHZJAFH9C::\';OYMF& MO0^QT3DYJ.:BFH=J/JH%J!:B6H1J,:HEE":&9ULAJS[\<9:WZ9?]RUOI?'MG M*:GIJ&:@FHEJ%JK9J.:@FHMJ'JKYJ!:@6HAJ$:K%J)90FIC0;0M- UIH3UO> M_GY]+5W>HJTT5--1S4 UL]'NKUW5E^/-!6Z'!]GHO!Q4.8P6T5#-0#43U2Q4LU'-0347 MU3Q4\U$MT+;+7AOWI0WW/R1"YQ2C6D)I8F*VU3*MR[9A3[H\+"[RC^G'>;9> M],[OW\A&%IEHJ0S5=%0S4,U$-0O5;%1S4,U%-0_5?%0+&DWLQXXW0Q/MBJ%: MC&H)I8GYVG;%M"Y=L2?EZVE:3B]_^?U:>7OV]]6RK+^T,U'1[A>JZ:AFH)J) M:A:JV:CFH)J+:AZJ^:@6H%K8:,+.WH/-!2O:#T.UA-*$0!VV_;"AO!_V3<_4 MWJYE;PX4K9L/MT=7@JP^K/Q^N?(GTS>444U'-0/53%2S4,U&-0?57%3S4,U' MM0#50E2+4"U&M832Q/ANZVC#9]^N[#%G:)M927\I.I5/O7>\;A]RX[R4@1[0 M1#4+U6Q4R9[O4EGWCOJ$8+9:AFH)J):A:JV8UV_Y89X\'FW74< M])CNCF.JQUL']="#^J@6H%J(:A&JQ:B64)J8K6VOK/KP!\K6_;?ZDL^W=Z22 MFHYJ!JJ9J&:AFMUH]]]N&9]L!BIY1'?'$=43=3-.R4/ZJ!:@6HAJ$:K%J)90 MFABG;0ELV*4$]J1+#>X"T_ARG:U/+Y2Y8N;%>38KJZ^NRF69+LYFBXL72KBJ M3R+L7:2BM3!4TU'-:+3[RZC)UBK*1(]IH9J-:@ZJN:CFH9J/:@&JA:@6=?H[ M'J/'3"A-#-6VDBV&=S[V2+3#Y,^B=L6@+#-4,5#-1S4(U&]4<5'-1S4,U M']4"5 M1+4*U&-422A,SNVV!#7_(%IA\5KUS&&V!H9J!:B:J6:AFHYJ#:BZJ M>:CFHUJ :B&J1<.]];,8/6!":6*XMH6QX;,7QN[.,M3Y6GVYOACW_@F'^M./ M.]N ELI034JOFH%NSXB[3]*WW8Z5%1 MM[^4,?H$$DH3X[#M=PV?O=_UJ/ZL?%J]HPYM>Z&:@6HFJEFH9J.:@VHNJGFH MYJ-:T&B2NPF'NQ[R.-@(5/6*,:@FEB8':UJI&\EK5 M#_8V5<=M:N1/JG=/K^V]3(Y]@[TA&"V"H9J":B6H6JMFHYJ":VVB2W[8]]( ^J@6H M%J):A&HQJB64)N9LV^H:R5M=/^!RN<.V-_(GU3N;T<87JAFH9J*:A6HVJCFH MYJ*:AVH^J@6H%J):A&HQJB64)L9X6R"K/OS.R^4]V][()]@[DDE-1S4#U4Q4 MLU#-1C4'U=Q&D^X$Y*&']%$M0+40U2)4BU$MH30Q:=MNV4C>+>NW8(ZK*NJ=;18QJH9J*:A6HVJCFHYJ*:AVH^J@6H%J):A&HQJB64)D9P6RP;/7NQ MC+UAC7R^O9/W:/L:G,'Q9O"B33)4,U'-0C4;U1Q4F^?=>KU= 6W&AO\T='#VB@FHEJ%JK9J.:@FHMJ M'JKYJ!:@6HAJ$:K%J)90FI"SX[8M-R:W/'O,ZK?#Q6?R.?:-6E334U -5"5(M0+4:UA-+$ MZ&Z+=N-GWS[M,;?BE<^J=PZC33E4,U#-1#4+U6Q4?,B6>IPOY.E4*]\Y' M4M-1S4 U$]4L5+-1S4$U%]4\5/-1+4"U$-4B5(M1+:$T,4K;?MOXV?=.:VY1 MGI_?/&BIO%V5EWDQ^V>VMT AGUSO.$:[;JAFH)J):A:JV:CFH)J+:AZJ^:@6 MH%J(:A&JQ:B6C+=W>AO6.U&WUT.)0=NVV,9=6FQPT'Y*9_/U'=3/\^*F.K$W M<='*&JKIJ&:@FHEJ%JK9J.:@FHMJ'JKYJ!:@6HAJ$:K%J):,MVNOJJH>G8RT M!R*W;:V-][36UF<'UN<$M($ZDI\80 MEJ*:CFH%J)JI9J&:CFH-J+JIYJ.:C M6H!J(:I%J!:C6D)I8GBVS;-Q]^W.=EX:$.:+3S?;F-UN3)$OR^JSI?(U*Y5W MV32_6-3G %XH;Z_RU>Y-*N1SZ)VZ:+,,U0Q4,U'-0C4;U1Q4JS;M^NKW\(_7!99IOPM M2POAFBO9)5RWHV]B-UK?A^;V"C ER.IQ\IN'R:?;.U#1W=%0S4 U$]4L5+-1 MS4$U%]4\5/-1+4"U$-4B5(M1+:$T(: G;85LTF7#M6]^'99\5GUS&-5T5#-0 MS40U"]5L5'-0S44U#]7\1I-/O5=I]\SE?^E'IG,]KY0C4#U4Q4LU#- M1C4'U5Q4\U#-1[4 U4)4BU M1K6$TL00;^MAU8<_^')YM'^)<"I_%KV3EM0, M5#-1S4(U&]4<5'-1S4,U']4"5 M1+4*U&-422A.3MFV/39Z\.QJ]7(Z+V[O< M2-?$:+$,U714,U#-1#4+U6Q4?8.](1IM_J&:@FHEJ%JK9J.:@FHMJWE&'/0=] M]) !JH6H%J%:C&H)I8E)J[5)^^0]X.CE]>GE+#M7S-FB>OPLG2O1^?EL6F6Q M=(6,%@1134U -5"5(M0+4:UA-+$W&Z;A$?/ MO@'<,UUP)Y]X[ZA&^X*H9J":B6H6JMFHYC3:_8O:QB?CH;@\==%C>JCFHUJ M:B&J1:@6HUI":6($MSW ZL,?*(+W7V\GGV_OY"4U'=4,5#-1S4(U&]6<1KM_ M39LZ&&P&+WE(#]5\5 M0+42U"-5B5$LH30S>MA9X],/5 F_.61A?LNEJO1/H M[3F+='&V]WS&8]\\W!GQ:/$0U714,U#-1#4+U6Q4@+1X> <7#YWVG$"T8HIJ.:D:C2=]5,M%#6JAFHYJ#:BZJ>:CF MHUJ :B&J1:@6HUI":6+2MO7"(WF]\,$U=AVVJXO5LE2TT0M%&VC#;_S>(%HS M1#4=U0Q4,U'-0C4;U1Q4==];[Y%[ M0<=%_G&]\W,=Q?.[J)?O2B*?5N\@1CN"J&:@FHEJ%JK9J.8TFJ3TX:(']%#- M1[4 U4)4BU M1K6$TL1T;8M_1_+B7X^SSU7DNNEBE19?%76],AX_GG\4?N< M'N_8]1:VJT MGX=J.JH9J&:BFH5J-JHYJ.:BFH=J/JH%J!:B6H1J<:,)5X**OY4GU '%<&W+ M>=6'_Y]6U!UOTRS_KO0.=U+34"SO"G[_VS3+)]@[DM'*'JH9J&:BFH5J=J-)KF-ST .ZJ.:A MFH]J :J%J!:A6HQJ":6).=OV\([E/;S_B^OM#G=NEG]7>H<[6OY#-0/53%2S M4,U&-0?57%3S4,U'M0#50E2+4"U&M832Q'\'VI;@,; )X;/VL>43[!W):!T0 MU0Q4,U'-0C6[T:3-!PZ_.A^FNLUI\_;)DW MKZZKY S2XF*V6"KS[+PB!R_K6W<4=;S>_J',KU\?J ?*Q[PL\ZOUAY=9>I85 M]0.JKY_G>7G[A_H G_/BS_6TW_PO4$L#!!0 ( &"(>UAO?(8&.0, !(, M 9 >&PO=V]R:W-H965T4D6A:1^J/CB[ [O":U/;0/KW'7N7#9=EE4CD!3SVS/&9.=@> M>FLAYRH!T.0I8USUG43KQ97KJBB!C*I+L0".*U,A,ZK1E#-7+230V 9ES T\ MK^5F-.7.H&?G[N2@)Y::I1SN)%'++*/RWQ"86/<=W]E,W*>S1)L)=]!;T!E, M0#\L[B1:;HD2IQEPE0I.)$S[SK5_-?)M@/7XF<):;8V)2>51B+DQOL5]QS., M@$&D#03%KQ6,@#&#A#S^%J!.N:<)W!YOT#_;Y#&91ZI@)-BO--9)W^DX)(8I M73)]+]9?H4BH:? BP93]).O"UW-(M%1:9$4P,LA2GG_3IZ(06P%^ZTA 4 0$ M^P&-(P%A$1#:1'-F-JTQU730DV)-I/%&-#.PM;'1F$W*C8P3+7$UQ3@]^"XT M$#\D%V2B132_,"6)R4AD^#M1U%;ZCE&.Z]>,B2B?$5,R2:B$*N^;)S,&A&12+#/)'@2")^0&X%UXDB-SR&>!? Q:J4I0DVI1D&M8ACB"Y)Z'\D@1>$ M%81&+P\/:NB$I5*AQ6LUG=2AD]_N/#OM M4&^4U!NUU$=":4N:,E"E^%44:W',E7:E%C2"OH-WE@*Y F?P_IW?\CY5Z7,B ML)V4FV7*S3=6*\=O;0OA-?;$.O1I!=52M4K>K5K>$[Q04SXC> C)+95ST,;: M'.HZZ6IQ7RO=B+50K]6O!.![52A6U:A^\;B=0_/77=/O$.7IE\MGN\]O\-> M+?$OP$%29M6[CO&E3_'-I*;'>9& ]>BO5?!4:+NUV.I)_#<6L=A@YQGK=,(] M':N\6HW]<^AN=5<9R)EM.A6)Q)+KO)LH9\O&]MJVG[:$;:K56T[0'D]P0 M"W]DMH'R[W?MA(QV 57:2^*/>X_/N;:/ASNEUZ8 L.1%<&E&06%M>1N&)BU M4--5)4B^K&%'@_5QG(F8:&)V0A! M]7X*7.U&02\X##RP56'=0#@>EG0%CV"_EPN-O;!!R9@ :9B21$,^"B:]V]G MQ?N )P8[<]0F3LE2J;7K?,E&0>0( 8?4.@2*ORW,@','A#1^UYA!LZ1+/&X? MT#]Y[:AE20W,%']FF2U&P4U ,LCIAML'M?L,M9Z^PTL5-_Y+=G5L%)!T8ZP2 M=3(R$$Q6?_I2U^$HH7=](B&N$^+W)B1U0N*%5LR\K#FU=#S4:D>TBT8TU_"U M\=FHADFWBX]6XRS#/#O^JBR07D(ZY-&J=-UQ)X\Y9,M*9R!:Y]64.1G_<@ MEJ!_#4.+>ARK,*VY3RON\0GNO9C<*VD+0^YD!MEK@! +T50C/E1C&I]%G$/: M)4GODL11G+00FKT_/3Y#)VDV)_%X5R?P'IA9=W(-0)BTH,%8HJF%MDI50+W( M([FKNQU'W2CYB"JVQP+:X^*HW\2]8GK5,+TZRW3.MBP#F9$] YZU$:SR;X[7 M?4/M7,0K4OV&5/\LJ;N7$LT"CU^JA,"39OP)1K-:HSN6FJ5 MHKC*>;,[DF. MCJ)T&_7^O\2Z_>LW[%N#3E1UT @8G!7P[$T(!= M:/14 @=%G.5 5%Y+4H?K MMP>J\?)]^('_BS8IY]<;$ ] $B+\O6J[ ?^#4!4A/'(K 7KE3=S@)FVDK:YJ M,]J\$Q-OCV_&I_A^5';_%Z9Z?.ZI7C$L"(<<(:/N->Z.K@R]ZEA5>D]<*HL. MZYL%OH&@70#.YPI]L>ZX!9I7=?P'4$L#!!0 ( &"(>UA$Z@JD6P, ,, M 9 >&PO=V]R:W-H965TD$SM/"9[K=*;/@K18- MV<(MJ"_-C= SKX]2TAJ8I)PA 9NE/Q^"GZGQ9>P]P1"6M>_4=+M5LZ MF8-*V)!]I3[SP]_0 <4F7L$K:?_1H;/U'53LI>)UYZP5U)2U5_+8)>+((4A. M..#. 8\=HA,.8><06M!6F<6Z)HJL%H(?D##6.IH9V-Q8;TU#F2GCK1+Z+M5^ M:O4/5X""$%V@6\6+^PN3DA*M>:V?$TELIF\JPI[NHW\;NW9ILD_5=_3F&A2A ME7RK+?Y 'I([(D N/*6UF1V\HM-QU>K )W0$&'WB3.TD^L!**(-&)>&WB)-*ODE2$E91MWR&V MK^] (+[I\H;>4-8-W\[EL-TBL5N8%_1A%6=^%.0+[^&8;&H6^5F6/)L-"**> M(/IY@H-]3_0C0QY Z/<>P2.(@DI C: %6*"25Q41$C4:U<+-LK6;IT>B,S*SW+])0C3!#]?C7B2YCS,$G\D>6JEGZ@X\N=%)[WHY&6B M7Z\ R22W0>+B>(0SM4^3GZ59$U;HL_87BI!/DQM% MJ?D$#T3/F&&*$/C/YYG_0N&O5X5NR^%G)TU'1)U5@ =FP0F@HP,Z^/\/ MCFZ/PTR)2KXGJFV_^A7^T[VTO9OH_4KT^':-NTY3-L>?R)B2W4Z*MCHD+Z;ZE-" MM!UG.U&\L4W;'5>Z!;3#G>[201@#?7_#=>/63&UL MC53;CML@$/T5Q%-6:A9?-A>M'$N[B:KVH6VT4=MG8D]B%# N3.+LWQ>P8V6E M1-H7PPQS#N<,X*S5YF K "1G)6N[H!5B\\R8+2I0W#[J!FJWLM-&<72AV3/; M&.!E "G)DBB:,L5%3?,LY-8FS_01I:AA;8@]*L7-^RM(W2YH3"^)-[&OT"=8 MGC5\#QO W\W:N(@-+*504%NA:V)@MZ O\?,R\?6AX(^ UE[-B7>RU?K@@^_E M@D9>$$@HT#-P-YQ@"5)Z(B?C7\])ART]\'I^8?\:O#LO6VYAJ>5?46*UH'-* M2MCQH\0WW7Z#WL_$\Q5:VO E;5\;45(<+6K5@YT")>INY.>^#U> ^.D.(.D! MR6E&OG:CDCJ@5%(\DC;^0)$K2&_#EY^')1SAS[1EZ ME P]2@+?TQV^SK,E< 93",NW$LA(U+V]AUO^.L)I(/0/Z93'LWB63C)VNO9Q MHVPZF\^G0UFGEUV=KW];/[C9"R=(PLX!H\?9A!+3W=^T^[8^\#?HN&GD?\'4$L#!!0 ( &"(>UAHW&PO=V]R:W-H965T^6DN@A0NJ M2I\$0>Q7E'%O-G%SMW(V$1M=,@ZW$JE-55'YXPI*L9MZV'N>N&/+E;83_FRR MIDNX!_UU?2O-R&]9"E8!5TQP)&$Q]2[QASDF-L AOC'8JA'BT@R_% MU NL(B@AUY:"FI\MS*$L+9/1\4]#ZK7WM('=ZV?VC\Z\,?- %J70'[R 8I_ -Y9;W^39]Q4YR7@-^0B%^!R1@(0#@N:O#RJQ%8-)1GXS2GL,:E.QA<#SL;]SZ&Y_T]TE2;AR<([ZQ^QB)Q;/37U1E?)#N M+(EBW)-\B,(D/%J4N!4=OT[TVQ4@/L@MCD=1V+-SB,I&! >=#QYVEK3.DI/. MOKG-]N^KD1SD^0(G:1S&/0,#N S'"1E6G;:JTU>I?KMRI >)3H\FNG8V%!&$ M6?/@Y0 ,7BO\[0K4W'/O M@0E&0?^5-0#+CKZS<.=,Q__5:=(P[[V2TBQ)H[[R0USOV-G73EZTD__#B=*H MV"L0'HW[>ZZ!'3UY:I-^I_^J0"Y=6ZI0+C9NX>O-7]F6V/5U M+S1U/WU#Y9)QA4I8&,I@E)BC0]8M:CW08NVZO >A3<_H+E>FK0=I 69](4RG MUPSL#=H_"K.?4$L#!!0 ( &"(>U@ 8 X84P( %L% 9 >&PO=V]R M:W-H965TLFHK$7<[;79FLK1 =/M51V&E7. M-1/&;%%AS>U(-ZCHRUJ;FCL*S8;9QB O ZB6+(WC*U9SH:(\"WL+DV>Z=5(H M7!BP;5US\^L&I=Y/HR1ZWEB*3>7\!LNSAF]PA>ZA61B*V(&E%#4J*[0"@^MI M=)U,9F.?'Q*^"]S;HS5X)X]:;WWPK9Q&L1>$$@OG&3B]=CA#*3T1R?C9/W,_B5X)R^/W.),RQ^B=-4T^A1!B6O>2K?4^Z_8^[GT?(66-CQAW^?& M$12M=;KNP:2@%JI[\Z>^#D> Y.(%0-H#TK<"QCT@5(YURH*M.7<\SXS>@_'9 MQ.87H38!36Z$\EU<.4-?!>%OP^_T;D304W!&I3G4)SW4)PU\%R_P_5L5 MHS>&UT.X;EVEC?B-)5S7NE7NE-=7R?V$3FS#"YQ&-((6S0ZC_/V[Y"K^?,IY M1W89R/QT[O(DSMCNA+OQP=WXO]R50#VDV E#ZWEKA-K HW0Y1!67;?/J;U= MXP>G''<'7AV)_*NQL_&JI+?7I#/,CGY]?^W<! MTTV8AD?M:+;"LJ+;#XU/H.]K31/1!W[ #O=I_@=02P,$% @ 8(A[6$*9 MP)UH!0 9", !D !X;"]W;W)K&ULS9I=;Z,X M%(;_BI4=K6:D#F 22-)-([6A^9(ZBJ8SLQ>KO7"#DZ "SMJFF>ZO7_-1&HC+ MD-'9U?:B 7+>Q\?A/<881@?&'\6.4HF^1V$LKCH[*?>7IBG6.QH18; ]C=4W M&\8C(M4NWYIBSRGQ,U$4FK9EN69$@K@S'F7'5GP\8HD,@YBN.!))%!'^?$-# M=KCJX,[+@<_!=B?3 ^9XM"=;>D_EU_V*JSVSI/A!1&,1L!AQNKGJ7./+);93 M01;Q+: '<;2-TJX\,/:8[BS\JXZ59D1#NI8I@JB/)SJA89B25!Y_%=!.V68J M/-Y^H4^SSJO./!!!)RS\/?#E[JHSZ""?;D@2RL_L,*=%AYR4MV:AR/ZC0Q%K M== Z$9)%A5AE$ 5Q_DF^%S_$D0"[;PCL0F#7!;TW!-U"T&TKZ!6"7EN!4PB< MM@*W$+AM!?U"T&\K&!2"05O!L! ,VPJP]7+FK,Q!^2G/_.(12<8CS@Z(I_&* MEVYDILOTRB9!G-;'O>3JVT#IY/@3DQ1A!WU$M]$^9,^4HGO)UH]HE?#U3AD/ MK4(2H_<>E20(!?I"O\N$A!^4X.N]A]Z_^X#>(1.)'>%4H"!&7^- B@MU4&U_ MV;%$D-@7(U.J7-,6S761UTV>E_U&7MA&=RR6.X%N8Y_Z58"I.EGVU'[IZ8W= M2/3HVD!=?(%LR^YJ$IJTE]L:N=;/VV6;Y,XD;YM%E^1WACWV?M MD]?U?=X^>9U\T3YYG7S9HG6[F\EQ@X^Z9<5T,U[OK1\C*X^%$ GUD9?P(-ZB M%>4!\R_0-Q(F]**QE'2ED#?H9 VF%[2GL6TY(_/IV)V:F&ZW&N,U)IY>:2_% MGJSI54==2@7E3[0S_O47[%J_Z0P)"9M"PF:0L#DD; $)6P+!*B;OE2;O-9L\ M'<_1B@=KBMZKD=QG84BX0'O*\['^@\['.1/;1R;%7<.M.5D791EU+^=1_>,@ MQ\#]:M3M:93M&G:MQ:DFRC+ZO6K4[#2J;[BUM.:G0:XQL*M!"TWNJKT::MEX M!G[R_#KE^75^?'X_IA-+'TU8I&;;@F3SU6O.2;RE:@8LT<,S.HY;D>?L\/6! M<#76>8%8LR3=C](/G1^.9D2A\?E&LBBB?YT/[&>LC13N5A0%L./4%$DW8P.C7 M;XMU,-L8#&LK))HPVS:ZM8O"5$<[7?Z8:<)D12K7_R] 9' MOYAEX/I*<:LHK[FKYXZ0H+0I*&T&2IN#TA:@M"44K5H>]FMYV/^#1<4BB<95 M15W,R?C9V)FS"P"2-@6ES4!I/5:/*-]FKW$(E!DT?^Y< M'BU?%;G.7I"H';_!EY/\A8]73/[^B;H ; -U^Q?2C4):1E]9EN>O=.0[DNVS MA_Y-V#+N__=_4G1VAJM&;\1*8!$=WE&Q=A)I5R=N:Z(4\BQ.&8KH.K)@O$< M2W7+EZY8<<")<L"=C%9X"5<@OZQF7-VYM4I"V_@NJ@OI:+V:9,'_1NK+U'!070K*\D8OW*,7>O[!S:&9"/3W)>1SX#\:LKJPJNB=XTRL< QC1VT- O@M.),_ M7OD#[VT3H2[%HH[$=NB%-;W02B]2JYA"@J9JB7$R+\P^HUD>;=8Z1Y=8QBFA MRQVC(S0#'@.5B"WJGX5X@SYP)@2:X?NF.;#FTG8.NA2+2K$3(Z;;P.W$._9' M[FT#VGZ-MO\RM KH'E20L M^\*P9CS\Y7TA(B+FH)^HEZ%=R_WKU!JV+=KAOY;6<#"L%U=)S&ZS ^>DAG-B MA7.=ZE_BG*L7L:?[CE6J;<%=BD4=B>T@/*T1GOZ/^HXUE[9ST*58=/K\ON-[ M#Z^KWDOA/FH]VQ:B[C0::7&L^]I E(7?K:SX'OC2G(@+%NH[R2[@>K4]>SLUYPZ/Q MJ3Z1,:<$#S+E<&UL?5/);MLP$/T50J<6:$U+3IPBD 7$ M<8OFD,*PNYQI:201X:*2(\O]^W*1%1>H; N Y"2%LJND M1>SN*;5E"Y+9F>Y N9M:&\G0F::AMC/ J@"2@F;S^9)*QE52Y,&W-46N>Q1< MP=80VTO)S)\U"#VLDC0Y.W:\:=$[:)%WK($]X(]N:YQ%)Y:*2U"6:T4,U*OD M(;U?+WQ\"/C)8; 79^(K.6C]XHVG:I7,O2 04*)G8.YWA$<0PA,Y&;]'SF1* MZ8&7YS/[EU"[J^7 +#QJ\8M7V*Z23PFIH&:]P)T>OL)8SZWG*[6PX4N&&'OC M@LO>HI8CV"F07,4_.XU]N "DRRN ; 1D07=,%%1N&+(B-WH@QD<[-G\(I0:T M$\>5'\H>C;OE#H?%-XU TCORD>RA<6?(<3]DR\SRFZ MI!Y*RS'!.B;(KB1(,_*L%;:6?%855/\24*=VDIR=):^S-QDW4,[((OU LGFV M>(-O,;5@$?ANKK6@EPUCC<)N0ZP8 M "%" 9 >&PO=V]R:W-H965T,SR;\6BB/G>3CRZR=;E(4GJ32\5ZN8SSOZ_H M(GN\')#!\XG/R6Q>5B>&HXM5/*.WM/RZNLG9T7!+F29+FA9)EDHYO;\LQ+N?WZF>W7E667NXH)^S!9_)--R?CFP!M*4WL?K1?DY>PQH4R&]XDVR M15'_*STVL?) FJR+,ELV8E:"99)N_L9/S8W8$S .7Z T J4KT X(U$:@'BO0 M&H%VK$!O!/JQ J,1&,<*S$9@'BNP&H%UK,!N!'978!QJ./FYY>1CKT&VC;WI M=)M>4G/4IY%<]XU8>ZG]9ZUK.2M++4;9FS;Q.F*T>?LI)*Q)3. MI%LZ8U8II3#=&+7J\/RS;QU:QLFB^(5]__76D=Z^^45Z(R6I]&6>K8LXG187 MPY*5K;K"<-*4XVI3#N5 .53I.DO+>2&YZ91..?I(K">* #!D-V5[9Y3G.W.E M"(D.G;R75/).4F1%Y13HHUA^2U=,+A^4.V)YM$Z%&]X^NN<.3^ M\77GR8/CZ\Z3A\?7G2>/?JS=QZ^^=:UNJ&X-JM8\[9!!V;":TP>:KBG75ANU M7JNK\?-AI)B6I5T,'_;[:C]*E6V-M*,<3I2BZU8[RN5$$9O8[2B/Q])DO1WE M\\IEFIUR!9PZVGHW*N1$:;+5B8KZ441155EIAXTY8<2PE-V]:#6FMFU,3=B8 M;IRG23HKI#O*?DXI^\V<9$LJE?&31)]8EE107A-K_;+HAM%IX7Z08E;]M]7 M_2!5-3IMXO*"[$Z'\CA!5O=>^YP@6>UTE(!3<-V4.VW;#S+T3KFC38S1:C)9 MZ_3>,2=*)IK.;U=]VZZZL%T_3+ZODYQ.68.6<3I+[A94BI=97B;_U$,FKU6% MQ"J3/B]6\81>#EBJ7-#\@0Y&/_]$#/E7WEB$A#E(F(N$>4B8CX0%2%B(A$5Z MK\.?*;+=,<^8%V7LN;YE"V-K"T-HBS M*2MA*?IQ$Q).M0$2YB!A+A+F(6$^ M$A8@82$2%AG]#FZ8G;%HS M2#XP-YM8$IM $OY5SFCT?POGAN$L%/=@(0Y2)B+A'E(F(^$!4A8B(1%2-@8!&OYR][ZR_ZA^0&A M^E1#(6$.$N8B81X2YB-A 1(6(F&1S1E>./,JG##!O J1=]/8\O\PLR*&GNH. M*,V!TEPHS8/2?"@M@-)"*"UJ:/O=7U$LN3.7-^:%$=L\9)*]M1[RVEQ,^E=R MJV7./$N3B?2E^D^[*$T37^ADXR!I#I3F0FD>E.9#:0&4%D)I$90V1M':-E1V M-E1^*&43RT\V%Y+F0&DNE.9!:3Z4%D!I(906-;3]X48C,NF-2IPP62$'Y@?( M;H&3B%,7,K?T(6&)6W4^7K#D;3)/LT4V2ZAXKDU\S9,MA*0Y4)H+I7E0 MF@^E!5!:"*5%4-H816L[H0391'S@$5V^P#("QL!A#G<39Y-:%&E^5!: *6% M4%K4T%H;;XAF=7=ITKD?Z49:BRGR+*+L-!HIX@\''+%]E+'^C[Z1/67KV_%R< M*$,3$T_U!Y3F0&DNE.9!:3Z4%D!I(90606EC%*WMM]U>!46\5^%U0Y(8>K+E MH/L2H#072O.@-!]*"Z"T$$J+&MK^@VEG1%;,[K8W7IRE&VIG5!KN/;!\=W^,W+$Z[C?):D MA;2@]^Q2\GN3E37?O(]@&ULK5=-;]LX$/TKA%H4+;"-1.K3J6T@<5IL#ED$3;I[ M6.R!EL8644E42=K._OLE)46V)5GK +[8(CGS^(9\Y'"F.RY^RA1 H9<\*^3, M2I4JKVU;QBGD5%[Q$@H]LN(BITHWQ=J6I0":5$YY9A/'">RSL/7:\9VM4V4Z[/FTI&MX O6C?!2Z9;#G3SX1B:4)><_3>,^F5F.8009Q,I 4/VWA05D MF4'2/'XUH%8[IW$\_'Y%_U8%KX-94@D+GOW%$I7.K,A"":SH)E/?^>YW: +R M#5[,,UG]HEUCZU@HWDC%\\99,\A94?_3EV8A#AQTH,,.I'$@70?OA(/;.+A5 MH#6S*JP[JNA\*O@."6.MTA^Z(6AUGDS^@^T7ULQ>@R W0C)2B)/MZ!HBR3G_3XCZ<[]/'])_0>L0(] MIWPC:9'(J:TT-S.#'3<\;FL>Y 0/3- #+U0JT=08P-9!M9&1U\ANR2CB M'<17R,6_(>(0=X#0XGQW,D+';1?:K?"\$W@#"SFT2C6(7X&8([B=8]>+R&1J M;P^Y#YAA?7"#UNR(H]=R]$8Y+FC)%,T0O.A;(F%J(V"09(T2',Y.)KA#<<#( M#?QA@GY+T!\E^-6"U+&L/,TM>?!+$% M:_[A'0Z<+T-:N1#84=!!&W1P">4$O?5VB>_XG5T9L,+8W)6P9AA?13=B; MW)]TE=VWB9QA=E'++AH73;%E6C/F@S DG>T9L(H<[\0.86>?A9R+**B!.9S?FW0U/F#D!M$)B@>) M$H]2?!0\!BG/%] XWEL5="FTX^C)/GIR"1$U*$='/(B\KHJ&S4ZE+[S/L7@\ MR9XM(['URC&AH%>[.&+H1V'/H^ M>>/Q['VNAOS>NI,HQ+WMZ9MY#@Y/[,\^V>+Q;'NVA(+>$XR$78I]&S?T.@SM M@\=[#F)=U302Q7Q3J/JUV_:V==--52UT^F]-/545!7N8NAA[H&+-"HDR6&E( MYRK4C$1=W]0-QL+Q!'?2VX1KFP!;;9\+/U-H2Q2ED-,89(K#J*W=Z M=^;F\47 'S$!7AM@4X%="X!Y]K :<>1T]K>0Z\'NYQTY2PIII@?LG#0 M(_B 2![/??E!,4\+GL^L.,LK:LX(OQISC@V>, .DN^@&S6'-*X6A("OK-)_P M-^B)%_4+["'; 1H1G*)%%JY6<1*'#"+T4*0(A**O/K P3N@WSBSF/OKZY1OZ M@N(,O6[PCH991'LJX_GF=U6756[W96[&E=Q,](@SMJ%HF$40"?AI,Z\;#0*5 M/ZCZ:1G'IW5O-!I]6-XB4_\-&9IA"A)Z:,;GL.6X=A7WF_'I+FO$A\WX8T@: MDQ^U[[LAP,?M^R[")^W[+L*#]GT7X=/_-^ZS3S^ZLVEHUD5K%C[KBJ\J2%%% ME:!=@/EJNA\8KN=9/75_.DW?1YE:Q]+/HWQ!E&';WGG44!"E=_3.>=1(Y+(T M^SQJ+,K+=2_RF@CZV+$OHP)!E*5Y%U'3]U&Z89J:<1XV$X3ICF?\?!9GXVC5 MXV@UCN/B*7@=^FC^>O./7L=QIG_Q/.;A9S M]-4 M^]D5I1'\:"W)E/DR94.9LI%,V5BF;")3%LB43=UW+Q^NIWG:Q8KR/LIQ7=.X M6%'4DZVB%,BZV,VD:(EW&2M?0.O6>L/TKM@GO&B_U[N!+FB?ZMU9N37U4U_N MSO)W\'6<493 BM]*NW5YKJ3<\2Q/&-X6&U5OF#&<%H<;"",@>0"_OL*8'4_R M&]3;SH/_ %!+ P04 " !@B'M8*!> -I(" !3!P &0 'AL+W=OTD[;^?#10E+8TZ*2_@CWL.Y]QKKOTMX_%&!FI ME.6%:8HHQ9R(,U9BH796C.=$JBE/3%%R)'$%RC/3L2S/S DMC,"OUF8\\-E: M9K3 &0>QSG/"GRXQ8]N181O/"W, ._) F&*!?EC*N9V;+$-,="4%8 MQ]7(&-L7$T_'5P&_*&[%SABTDR5C]WIR'8\,2PO"#".I&8AZ;7""6::)E(R' MAM-H/ZF!N^-G]F^5=^5E201.6/:;QC(=&4,#8ER1=2;OV/8'-GX&FB]BF:B> ML&UB+0.BM9 L;\!*04Z+^DT>FSSL .S^&P"G 3CO!;@-P*V,ULHJ6U,B2>!S MM@6NHQ6;'E2YJ=#*#2UT%4/)U2Y5.!G<,HE@GT,/0DQ4=21<%_79T$GNP4]6 M)+U,93J&L1 H!2R?X#NRA),RI1')8*P.#YQ.41*:B4\*L@BG<'KR"4Z %C!/ MV5J0(A:^*95<_5$S:J1=UM*<-Z1-,3H#U_X,CN6X'?#)^^'./MQ426HSY;29 M@>E+BXO9Y?32&R@W#=,"Y$22(<&:HC".0;-(*/'VS/^MJ5 M_B.1[3GMMT[[1RI&S>/MY-D96,Z+8G0$>8-A=S$&K<3!08FWK.@M0OAS@_D2 M^=\N;0<)_K<<1R+;\^JU7KTCE<-[=>R]X?!%-5['],_[+XIA[K0\?=W<$)[0 M0D"&*X6RSLX5G-UA$ 1T1N@4 '\9 9 >&PO=V]R:W-H965TJL/5+8LG/>\3#]Y BZ=&3RK[F>RDU>4[B-+\:[+4^O!\. M\^U>)B)_IPXR-=\\J"P1VEQFNV%^R*0(2U$2#SFE[C 143H8C\I[G[+Q2!UU M'*7R4T;R8Y*([-NUC-73U8 -7FY\CG9[7=P8CD<'L9.W4M\=/F7F:MA$":-$ MIGFD4I+)AZO!!_9^PTI!2?P3R:?\Y#,I4KE7ZFMQL0JO!K1HD8SE5AGGE^CS,GF3S+W(Y43%7Z)0[Z\&_H"$\D$<8_U9 M/2UEG9!3Q-NJ."__DJ>:I0.R/>9:);78M"")TNJ_>*X[XD1@XN "7@LX%-@7 M!%8ML/H*[%I@]Q4XM<#I*W!K@=M7X-4"KZ_ KP5^7T%0"P(H<"\91U^3!R>E$^[9:OCVFG?-8MOQ%99^/G_7/GB'S1/W=,ONR?.R9? M]<\=DZ__G^^;_]QU9V5H-:/<*N/9%^)]EH\R/4IL1%5"IQ06[]_',?=\WQX- M'T_+M$U9-+#9.35%*.XX_CDU0R@6L."9RG-RR-1#I#$S*[5[UCC; M!ET[02C;MCU@)D(YU*+ 3)1R0&_,L2<&L&L7"&7Y 2B?)48Y-J!6",4HLX"9 M;B7PV"^8< M':T.TMVN"_QM0]SC(/5I&[(L%PRO&08%8&Z8(Y#?\A:!J 4*&'PS MC &#?=YF7 LP"R0. QV_1-KL@'I9M1DXXM9(]W@4Y+Y!(/?DQ77FGM>XYW6Z M]]%L8F4],C'?O/:T;L/JF[0ASF&/3Q'("\ @G2&0SZ!W;VYT0==:[-EM)4!5(#%80:'R#3=.!RUX-+*@ST?9?"+IIB(+<-#(<^ M E+/,;,[7"BC(#>K M#Q"PQT \=WP>A=HJ!C<11PNK==8UF:L6P%( M9H-&]"QZ,NF=%0BC/\XYZ"^8&<(H/A9UU']NJ!_[D\D!I^#L@%)PO,YP"A3: MO*9^,D'@L0"UQ&/!*0*-U9HC4 J.IPU.7=@]L9/#+O:KYXG3BNB8*>H'GV^] M&.<4EO@$)0UJP1?[%".9&[AFCP)+ B.IF8!29B'!H;2ZTDSL6+)?AR3%I(K-=>9*?FQHXIKHZ M2VGN-K\6?"C/R,']:_9^Q9#[Z^+7A?)8]D?XZJ>)&Y'MHC0GL7PPCS*E;)8] M677:7UUH=2@/:>^5UBHI/^ZE"&56 .;[!Z7TRT7Q@.8WE_%W4$L#!!0 ( M &"(>U@IA6(0G , %<, 9 >&PO=V]R:W-H965T4,&#/3,^U^]@<"H;UQ9E\- TQ<$ M?\6XE&MKT)Y,./^E-_=AW^AH@S#!J=(2&+T6>(-)H@61&2^53*-6J1G7UROI M=X7OY,N$2;SAR<\X5+.^$1@08L3R1#WPY5>L_/&TO"E/9/&$947;,6":2\73 MBIDL2..L?+/7"HE& 67"3^W&FPSY6@K[&Q*<&W[E"L"[@#QCG$XDO.68*;A?T ME- :HF)Q(N$17U7.DK,]5/#W-TPG*/ZA;U=)Q"@2.ISUZ:.[GR'.X''& M<\FR4+;AX\:^9RKR1-MC3BNKKTNK[0-6?V/B'"R[#7;'=N%I/(36QS.(U*W.,V-NG!VA5]I\=ECG\?9DK@S>EFA3".HYV'4>[4.,>4'.= M2SJ1$FYX.HFS(@IMVE!]ABC*H#P*ELD(A)"2[XO@]+F0(D M&9!>RAQ#X*)8L4F";?B>Z^(&'L&XJ IH43F7!7(&_QXN ME>O2('\#E*[KV%LY]CZR8:-[OPF>5X/GG;+>VO!#S5#LPZ11S[%9Y^UDG>=N MPW8BA1NP^35L?B-L5UE&%PG\B715PZI0]Z'B[S8CS]E*DT951R(W]'?[FF/5 M"C><[=;.=AN=_4EEH.\X!+KEX$<4Q5.$L3:IOA_WN=XH]-B$.*6PX8F$;8 9 MU& &S9E#0ZWN. ](^7,K%:.Y921H_!74K5KCEYS ACO.E>Y ^R_6$MY@I[EX M5F!UMW*KT9ACXTQ"@A'Q=+S8K"; M<$5C8K&2/0A/0]XC06&WTK%C_EQC\!U!+ P04 " !@B'M87^TTL=4# M !/#@ &0 'AL+W=O?QS#-CQQYNA/RAEH@:'M(D4R-GJ?5JX+HJ6F+*U)E8849O%D*F3--0 MWKEJ)9'%%I0F;N!Y73=E/'/&0VN[EN.AR'7",[R6H/(T9?+Q A.Q&3F^LS7< M\+NE-@9W/%RQ.[Q%_65U+6GD5BPQ3S%37&0@<3%R)OX@]#T#L!Y?.6[4SC.8 M5.9"_#"#RWCD>"8B3##2AH+1WQJGF"2&B>*X+TF=:DX#W'W>LG^TR5,R5V!N].WL,)\ P^+T6N"*V&KJ;X MS"QN5,9R4<02'(C%#^!*9'JI(,QBC/<)7$JLRB[89G<1-#+.,#J#EG\*@1>T M:@*:O1X>U,##U\/]AFQ:5:U:EJ]]J%;A%+;U.@4_^.#U3V&2T%IG6426J<28 M:_A+* 7?KS"=H_R[K@J-LYB=::!6+,*10UN/0KE&9_S[;W[7^Z-.P6.2A48>@!4R%TM8O?* M76%= M&8IP.C8]X3)L#_N[757?VDK:S3QLVTOZBRIU*Y4YCT)/H/N?4 MIT\[R@U&R-=L3GO0;3Y7>)]CII-'8Q=K-*Y-O=PXVUM[^9ADX9'(]E3N5BIW M?Z+R"W%/X2/CTC8TPHRK*!$JE[6-VB_;R^[W]S7/VTJ=]_FS?#AO3^D71 M^LXS@^\]'?&\GWTH+EA,Q^>YIK.];6-.HM%A32])&]OK;$YFB 5D0M.;*,EC MA!-*C7R8@25,6QUEM3Y(]NWJ(2ISQBE\-[1*8&WVF1AH>.*97SL3W3! + J8 MLB6">5X"U.YBD]O%=E:GB+MSW$V1ZFON&0KL BZ^1)6UNLM,[ G^F?W"'\S\ M.GLPF-;Y3_J#L%]G][WM9#LP$U1UR_"]02P,$% @ 8(A[6+C-93I@ M! QP\ !D !X;"]W;W)K&ULK5=M;Z,X$/XK M%E>=6JDMF)"0]))(>>GJ*EVE7GN[^V%U'QR8)-P"3FV3-/_^QD ($,*V4K\D MV)YGYIFQ/>,9[KCX*=< BKQ%82Q'QEJIS9UI2F\-$9.W? ,QKBRYB)C"H5B9 M^&H],OH&\6')DE ]\]V?D#O4U?H\'LKTE^QR67%%+D@0DW_6/)&(DD-3(7?-P/1RGM., MIWV&)[7)(X_56I+[V >_JL!$IPO/[8/G4[M5XQR\6]*AU\2V[$X#H?G[X78+ MG4ZQ$9U4GW-N(^YGY+ 9UX3:-];@FDQ"O)@LT-R6/3J5L6FGD*D0[19$NZU$ M[]\P"4L@E\_@\2V(_543N4Q'KV38JE*;M5OY09NV>WZJMMOL3:_PIM=J9XXG M,$W)C9>T=V+NA@YJ(3Z5L?NTF91;D');23UGIXNP*,LPS'M- E%/ QE%]U>! MGK=)5.CU"WK]5GI8@;"^Q&26" &QMR<3_S],W5@>51/#_FD0.S6*K2(5CH." MX^"]UPDS:/M%&IQ8=URGQK!!IG39*A2I=2Q&UL>38+[YU^0[$X+%:M^:_]HM M?#0!?I:V:CQ*Q9E^<@[,%9;WI>?63U>#4+=SYHI2^TC6_H0\F"LIV^YT:9W@ MJ9#CGKD ]%AA:7N);4]M.;AZY]QZ_6B4HF=R+CW6.MI>[#Z2X')5;1FN5:1* M\5CE:'L!^F"2H[\L>/,&D1MZ+H<1EW1 MJC/'(D+;JPA6^"GSL6E9*.RHTBL4@-3O9K4&HM@"7^EL@=/$YR3F"E>\,/&! M7#BNA3),PT*F4)9K!1!L->9XF+0J?*W23'8' L@6'_.X@,,+2_^FEK"OTV%+ M83)(G_J+) ?(9"'A-<%-#_<'EN#?-F4[L]251"!6:7OILUR4^HBP"W<:5_:%+-(Z6LQ7UD C.L)"$LD9YUZ^*&BZQK MS :*;](^:L$5=F7IYQH[;1!: ->7G*O#0!LH>O?Q_U!+ P04 " !@B'M8 M#)EJK4@# #H$P #0 'AL+W-T>6QE_:K]DOGLD #UH:X/&UU0B7V? M[[O/=Y?&[:#2*TYOYI3J8%EP40W#N=;ENRBJIG-:D.I,EE08))>J(-I,U2RJ M2D5)5H%3P:->IY-$!6$B' W$HK@J=!5,Y4+H89@TIL#=/F;#L)N\#0-'-Y89 M'89W)Z^_+:2^?!6X^]&;HZ/.W>GEKOW$ J=AY"4]?P+I60?G-1A&G6Q3V^7' MAL@Y'F-N%WY%OW[\1#;:(ONWVO?H,?);23#!G-,GY6E/FBQQ5%=Z-,BE: L> MA\Y@(I."!O>$#\,QX6RB&'CEI&!\YVJ- IG MBJRZO?.P=; W$V0B5495$Z8;KDVC :[EF4$H-:R,(.,D9D4Q&I8 M>]0#0SNEG-_ $_HUW^)>YALU[4!%13,T@NJAHW$3X-]D<]R;M/&S>(.2W4O] M86&V(^P<>H5>*YJSI9TO\T8 QM[%V4E9\M5[SF:BH&[S3PXX&I"U7S"7BCV8 M:- J4V.@*@SNJ=)LNFGYKDAY2Y=ZW4[+'-?<>X&:_VZ>9U101?BF:-/[AYSE M9RNN7VG_0K/]M;*KV"LROCA\C?5K_-!%)B]!Y(LH=__P1<;IX6NLCW4')S*J M#QD;)YFM"\. R_P,F4MT&#R8)QS40]F[,LH^+1<<;0:S(Q?\9L\9OU M&E4[_@3;ZR;-8=7$8B*C2YJ-ZZF:3>PP M, ,3M;[ 81>YLI#'SX9I P\L#D3ZLUSCU<8[ M9'\?8#7=UR'83O%.Q':*YQH0?][ (TW]U<;B@ =6!:QW(+X_#O24WR>.H:J8 M-NP)QI$TQ1#H17^/)@F2G00^_OI@3TD*NQS $P( L !? M3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2 M?S+W\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'/#K9>EC^/!3US9#TVT=MOBVT M_L:^-[5JSR9K:S=OIM.V7(N&MW_JC5#NR%*;AENW:5;3=F,$K]JU$+:II_') M239MN%23=V]WU[HU4[BAK2BMU,KM['=\E>*Q?3G>;[('V\T4[ M[+%\\84[D+-)=N(NN)2FM<,9P_6Y8WP0[N3M5F?UE:RM,!?J8I?*NB"QN=I>RIW;_U+WU?-J^ZNMPP4Q-&^D.V#FU0!^.,ASMZUK6;EO MK]@'7G-5"C8$MP6 ,0(8CP;(CFXY@)PAD#-"R+L>HO] R_22?=X( R 3!#(9 M#?)<-QL F2*0Z6B0=U:7 #)#(+/Q(LG;-8#,$.4>@>R] M,5RMMJ2 L$ (B\,2?G*"81$[9I^X[8S8]9;MB0#Q%$$\)4",'>)=US3H%8.!6)BQHD.K)P!,W687\2#4"Z45T8W[AFIK'')!KPS M(\PYT8&E,V!F#O.&_ZL-.^]:JQMA/#Y,-]&!?3/PY8YOKEP8K4L!A<>&628Z ML&8&ML*Q7;M>XF-A7HD.+)8!Z]1A?;9KT3>I,7T">2WYD&1#3,PLT8'5LGUP MGSC."['PJ#";1"0ZB88;KG0]@=WS[W[38B*)*$P2Q<,MM^(U<^55*41O9B_1 MQBP24U@DZC72IUK?CA>N:U1#;BA4RV$[QYA%8@J+1,D.TSVE-YTIUPZ6W;KR M &*B=0N%1:)>(Y?-IM9/0CSSW@ZT$!.S2$QAD2B#F!^$$DMI?XLF)I.80B91 M;Y,[L1JJZOVE=(Q9)::P2M1KY>^.&RM,_<1 K0 Q,L=M&*_[H^ MG)$8"N:?V9A5C(^)^650GLZ)X[BO8/"(G99T9AGY=R82\?)IX9A7A"=8/?UIAX9B3BV=4- M>Z.(26=&4M:\+B#V8F+2F9'4.8$TW6]L3#HSDH(GD+&Q(S@FCDDG(2EZ CF; M%\T$DTYR8.F@"9&/B4DG(2EZ D.Z?J-CTDDHI!-,B&80$YVPH=!.$#.!F)A] M$@K[!#%3B(G9)Z&P3S"]]!H=LU!"8:$@IM?HF(42"@L%,;U&QRR44%@HF*S# M1D\Q"Z44%@IBPD9/,0NEHY8^L-%3S$(IA86"F!G$Q"R44E@HB)E#3,Q"*86% M@I@%Q$07#E!8*%CO>CT=LU!*8:$]LW;LZ$)8+B$F9J&4PD*OR_*7+8B)62BE ML! LS(<@UBV[%]^M-TZ88A9**2P$,)_?N+NSM7Y:G&$6RB@LY&'>]&F\M'WC MZR7$Q"R445AH3S1O=-6GG! 3LU!&8:'@H Q\(&68A3*2":"701F_!\%%&1EF MH8QD N@7IHMJ9QV,&M8V7<.YE0RS4$8R!00PK[JA$'[N2! 372&6PD"GYYB% M5W>&M:_ M]%>*XB3M%WQ[VAVY8?)Z.YV%=[<>Q^U77PV9?3LWPT';E?+FR;?M3,UZ6 M_:[NFLU[LRNU+)=6]_$.Q#('9#N0&!W0+P#@=Z">@N!WH)Z M"X'>,GG9)M!;4&\AT%M0;R'06U!O(=!;4&\AT%M0;R'06U!O(=!;4&\AT%M1 M;R706U%O)=!;46\ET%LG'TL(]%;46PGT5M1;"?16U%L)]%;46PGT5M1;"?16 MU%L)](ZH=R30.Z+>D4#OB'I' KTCZAT)](Z3C]T$>D?4.Q+H'5'O2*!W1+TC M@=X1]8X$>D?4.Q+HG5#O1*!W0KT3@=X)]4X$>B?4.Q'HG5#O1*!WFORL)- [ MH=Z)0.^$>B<"O1/JG0CT3JAW(M#;4&\CT-M0;R/0VU!O(]#;4&\CT-M0;R/0 MVU!O(]#;)IM-"/0VU-L(]#;4VPCT-M3;"/1VU-L)]';4VPGT=M3;"?1VU-L) M]';4VPGT=M3;"?1VU-L)]/;)9D$"O1WU=@*]'?5V KTSZIT)],ZH=R;0.Z/> MF4#OC'IG KTSZIT)],ZH=R;0.Z/>F4#OC'IG KWS9+,W@=X9]?UU^GT2<5U>DO4$L#!!0 ( &"(>UBG MD>I9-P( -\R 3 6T-O;G1E;G1?5'EP97-=+GAM;,W;36[;,!"&X:L8 MV@86+5(BU2+.INVVS:(74"4Z%JP_D$SJW+Z4G 1HD1H)7*#OQH)-%W&RT MJ,KC+G'L MA ^/G?7I^1*O]#CN=FUMF[&^[^.1U$_.5HW?6QOZ+CT5O3J?'.(-V]-G=G'^ M4N9<8-QYZ\;)QXDY^_ZXYY',I]=3+&1=:,^_XDMB+'WQ^]EYVHUMWI@=K_?G MZ [+/+Q8'I??\>\S?JG_SCXDI \%Z2.']%% ^M"0/@RDCQ+2QP=(']F&T@A% MU(Q":D8Q-:.@FE%4S2BL9A17,PJL&45629%54F25%%DE159)D5529)44625% M5DF155)D5119%45619%54615%%D5159%D5519%44615%UIPB:TZ1-:?(FE-D MS2FRYA19U@'04UB@0 +$ 0 M " 0 !D;V-0&UL4$L! A0#% @ M8(A[6!OW+R#O *P( !$ ( !KP &1O8U!R;W!S+V-O M&UL4$L! A0#% @ 8(A[6)ET+ MQ:(' &,@ & @($." >&PO=V]R:W-H965T&UL4$L! A0#% @ 8(A[6-\"L'5!" 0R4 !@ M ("!Y@\ 'AL+W=OUB$FV5[]0( .X) 8 " @5T8 !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% M @ 8(A[6+7VCT*J @ S@8 !@ ("!42 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 8(A[6$4+63RP P M,0\ !@ ("!]S4 'AL+W=OUC[?_AGD08 %8/ 8 " @=TY M !X;"]W;W)K&PO=V]R:W-H965TUC5G9[9N@0 .L+ 9 M " @5M0 !X;"]W;W)K&UL4$L! A0#% @ M8(A[6-_,GL!#!@ 0!( !D ("!3%4 'AL+W=O&PO=V]R:W-H965TUB6\_FS5P( #@% 9 " @?A? !X;"]W M;W)K&UL4$L! A0#% @ 8(A[6+D;DC:; @ MCP4 !D ("!AF( 'AL+W=O&PO=V]R:W-H965TUB9 MT62\T@( #H& 9 " @4AJ !X;"]W;W)K&UL4$L! A0#% @ 8(A[6!MCS3>O! H@H !D M ("!46T 'AL+W=O&PO=V]R:W-H M965TUC[2HC:2 ( /P$ 9 M " @3-Y !X;"]W;W)K&UL4$L! M A0#% @ 8(A[6&I0!!D)!@ XPX !D ("!LGL 'AL M+W=O&PO=V]R:W-H965TU@O^RHT/ , /X& 9 " M@7F$ !X;"]W;W)K&UL4$L! A0#% @ 8(A[ M6+0$#IKK @ 1 8 !D ("![(< 'AL+W=O&PO=V]R:W-H965TU@K'F03U@0 %D+ 9 " @5"0 !X;"]W;W)K M&UL4$L! A0#% @ 8(A[6-'3 !P1 P @@8 M !D ("!794 'AL+W=O&PO=V]R:W-H965TUA;C[_. M&Q$ * U 9 " @2J< !X;"]W;W)K&UL4$L! A0#% @ 8(A[6%#Q\]A= P ^ < !D M ("!?*T 'AL+W=O4[F<# !]"0 &0 @($0L0 >&PO=V]R:W-H965T MUB&4:"^Z@0 )00 9 M " @:ZT !X;"]W;W)K&UL4$L! A0# M% @ 8(A[6(M3=96$ P .P< !D ("!S[D 'AL+W=O M&PO=V]R:W-H965TU@F[@8^U , $P* 9 " @4/ M !X;"]W;W)K&UL4$L! A0#% @ 8(A[6$F) M)Q&- @ N@4 !D ("!3L0 'AL+W=O&PO=V]R:W-H965TUB2 I9*MP4 #$. 9 " @1+* !X;"]W;W)K&UL4$L! A0#% @ 8(A[6)6MJSFG! D0L !D M ("! - 'AL+W=OU >&PO M=V]R:W-H965TUA[^ZSM1@0 M $D* 9 " @9?9 !X;"]W;W)K&UL4$L! A0#% @ 8(A[6+APWWW> @ 8@8 !D ("! M%-X 'AL+W=O&PO=V]R:W-H965TUAKI$D4E04 ,T= 9 M " @?[D !X;"]W;W)K&UL4$L! A0#% M @ 8(A[6/5@(8%4 @ O 4 !D ("!RNH 'AL+W=O&PO=V]R:W-H965TUB&UL4$L! A0#% @ 8(A[6(0V04W( M P [10 !D ("!2_4 'AL+W=O&PO=V]R:W-H965TU@3]A+1NP( !H( 9 " @1C] !X;"]W;W)K&UL4$L! A0#% @ 8(A[6$X^XOVX @ ^08 !D M ("!"@ ! 'AL+W=O&PO=V]R M:W-H965TU@PC$N@U ( $H' M 9 " @:X) 0!X;"]W;W)K&UL M4$L! A0#% @ 8(A[6 GK&L_X @ U0< !D ("!N0P! M 'AL+W=O&PO=V]R:W-H965TUB2R,*ES@@ )=J 9 M " @482 0!X;"]W;W)K&UL4$L! A0#% @ M8(A[6/=Z941B @ &PO=V]R:W-H965TUCLSA9&W0< -U3 9 " @8D@ 0!X;"]W M;W)K&UL4$L! A0#% @ 8(A[6,GV:2H> P M(@L !D ("!G2@! 'AL+W=O&PO=V]R:W-H965TUBI M3U](^@4 "TW 9 " @:$N 0!X;"]W;W)K&UL4$L! A0#% @ 8(A[6(JSEO&I @ ^P< !D M ("!TC0! 'AL+W=O&PO=V]R:W-H M965TU@-3/FI/ , )L- 9 M " @2T] 0!X;"]W;W)K&UL4$L! M A0#% @ 8(A[6*@B7.$- @ S00 !D ("!H$ ! 'AL M+W=O&PO=V]R:W-H965TUA23X1I;P, -8/ 9 " M@9A% 0!X;"]W;W)K&UL4$L! A0#% @ 8(A[ M6#%36AB1! ]R$ !D ("!/DD! 'AL+W=O&PO=V]R:W-H965TUB_L>QN-P8 "TO 9 " @>52 0!X;"]W;W)K M&UL4$L! A0#% @ 8(A[6*>XI8=Q&0 P-L! M !D ("!4UD! 'AL+W=O&PO=V]R:W-H965TUCF<:W) MV@( &$' 9 " @6MV 0!X;"]W;W)K&UL4$L! A0#% @ 8(A[6$3J"J1; P PP !D M ("!?'D! 'AL+W=O&PO=V]R:W-H965T MUAHW&UL4$L! A0# M% @ 8(A[6 !@#AA3 @ 6P4 !D ("![H(! 'AL+W=O M&PO=V]R:W-H965TUB&^2>NQ@, +,2 9 " @1>+ M 0!X;"]W;W)K&UL4$L! A0#% @ 8(A[6-[Z M!R?O 0 ^P, !D ("!%(\! 'AL+W=O&PO=V]R:W-H965TUC+0#>!G0, '$. 9 " @5R8 0!X;"]W;W)K&UL4$L! A0#% @ 8(A[6++EK!/@ P @A8 !D M ("!,)P! 'AL+W=O -I(" !3!P &0 @(%'H $ >&PO M=V]R:W-H965TUA$ 1T1N@4 M '\9 9 " @1"C 0!X;"]W;W)K&UL4$L! A0#% @ 8(A[6"F%8A"< P 5PP !D ("! M :D! 'AL+W=O&PO=V]R:W-H965TUBXS64Z8 0 ,"P 0!X;"]W;W)K&UL4$L! A0#% M @ 8(A[6 R9:JU( P Z!, T ( !=[4! 'AL+W-T>6QE M&PO=V]R:V)O;VLN>&UL4$L! A0#% @ M8(A[6#AE:^>: @ 1ZEDW @ WS( !, M ( !+,,! %M#;VYT96YT7U1Y<&5S72YX;6Q02P4& &$ ,80">&@ E,4! end XML 108 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 109 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 111 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1 html 288 444 1 true 107 0 false 9 false false R1.htm 000 - Document - Document And Entity Information Sheet http://www.intest.com/20231231/role/statement-document-and-entity-information Document And Entity Information Cover 1 false false R2.htm 001 - Statement - Consolidated Balance Sheets Sheet http://www.intest.com/20231231/role/statement-consolidated-balance-sheets Consolidated Balance Sheets Statements 2 false false R3.htm 002 - Statement - Consolidated Balance Sheets (Parentheticals) Sheet http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals Consolidated Balance Sheets (Parentheticals) Statements 3 false false R4.htm 003 - Statement - Consolidated Statements of Operations Sheet http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations Consolidated Statements of Operations Statements 4 false false R5.htm 004 - Statement - Consolidated Statements of Comprehensive Earnings Sheet http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings Consolidated Statements of Comprehensive Earnings Statements 5 false false R6.htm 005 - Statement - Consolidated Statements of Stockholders' Equity Sheet http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity Consolidated Statements of Stockholders' Equity Statements 6 false false R7.htm 006 - Statement - Consolidated Statements of Cash Flows Sheet http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows Consolidated Statements of Cash Flows Statements 7 false false R8.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 8 false false R9.htm 995453 - Disclosure - Note 1 - Nature of Operations Sheet http://www.intest.com/20231231/role/statement-note-1-nature-of-operations Note 1 - Nature of Operations Notes 9 false false R10.htm 995454 - Disclosure - Note 2 - Summary of Significant Accounting Policies Sheet http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies Note 2 - Summary of Significant Accounting Policies Notes 10 false false R11.htm 995455 - Disclosure - Note 3 - Fair Value Measurements Sheet http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements Note 3 - Fair Value Measurements Notes 11 false false R12.htm 995456 - Disclosure - Note 4 - Goodwill and Intangible Assets Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets- Note 4 - Goodwill and Intangible Assets Notes 12 false false R13.htm 995457 - Disclosure - Note 5 - Revenue From Contracts With Customers Sheet http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers Note 5 - Revenue From Contracts With Customers Notes 13 false false R14.htm 995458 - Disclosure - Note 6 - Major Customers Sheet http://www.intest.com/20231231/role/statement-note-6-major-customers Note 6 - Major Customers Notes 14 false false R15.htm 995459 - Disclosure - Note 7 - Inventories Sheet http://www.intest.com/20231231/role/statement-note-7-inventories Note 7 - Inventories Notes 15 false false R16.htm 995460 - Disclosure - Note 8 - Leases Sheet http://www.intest.com/20231231/role/statement-note-8-leases Note 8 - Leases Notes 16 false false R17.htm 995461 - Disclosure - Note 9 - Other Current Liabilities Sheet http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities- Note 9 - Other Current Liabilities Notes 17 false false R18.htm 995462 - Disclosure - Note 10 - Debt Sheet http://www.intest.com/20231231/role/statement-note-10-debt Note 10 - Debt Notes 18 false false R19.htm 995463 - Disclosure - Note 11 - Income Taxes Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes- Note 11 - Income Taxes Notes 19 false false R20.htm 995464 - Disclosure - Note 12 - Legal Proceedings Sheet http://www.intest.com/20231231/role/statement-note-12-legal-proceedings- Note 12 - Legal Proceedings Notes 20 false false R21.htm 995465 - Disclosure - Note 13 - Stock-based Compensation Plan Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan Note 13 - Stock-based Compensation Plan Notes 21 false false R22.htm 995466 - Disclosure - Note 14 - Stock Repurchase Plans Sheet http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans Note 14 - Stock Repurchase Plans Notes 22 false false R23.htm 995467 - Disclosure - Note 15 - Employee Stock Purchase Plan Sheet http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan Note 15 - Employee Stock Purchase Plan Notes 23 false false R24.htm 995468 - Disclosure - Note 16 - Employee Benefit Plans Sheet http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans Note 16 - Employee Benefit Plans Notes 24 false false R25.htm 995469 - Disclosure - Note 17 - Segment Information Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information Note 17 - Segment Information Notes 25 false false R26.htm 995470 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) Sheet http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited- Note 18 - Quarterly Consolidated Financial Data (Unaudited) Notes 26 false false R27.htm 995471 - Disclosure - Note 19 - Subsequent Events Sheet http://www.intest.com/20231231/role/statement-note-19-subsequent-events Note 19 - Subsequent Events Notes 27 false false R28.htm 995472 - Disclosure - Schedule II - Valuation and Qualifying Accounts Sheet http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts Schedule II - Valuation and Qualifying Accounts Notes 28 false false R29.htm 995473 - Disclosure - Significant Accounting Policies (Policies) Sheet http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies Significant Accounting Policies (Policies) Policies http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies 29 false false R30.htm 995474 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables) Sheet http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables Note 2 - Summary of Significant Accounting Policies (Tables) Tables http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies 30 false false R31.htm 995475 - Disclosure - Note 3 - Fair Value Measurements (Tables) Sheet http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables Note 3 - Fair Value Measurements (Tables) Tables http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements 31 false false R32.htm 995476 - Disclosure - Note 4 - Goodwill and Intangible Assets (Tables) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables Note 4 - Goodwill and Intangible Assets (Tables) Tables http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets- 32 false false R33.htm 995477 - Disclosure - Note 5 - Revenue From Contracts With Customers (Tables) Sheet http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables Note 5 - Revenue From Contracts With Customers (Tables) Tables http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers 33 false false R34.htm 995478 - Disclosure - Note 7 - Inventories (Tables) Sheet http://www.intest.com/20231231/role/statement-note-7-inventories-tables Note 7 - Inventories (Tables) Tables http://www.intest.com/20231231/role/statement-note-7-inventories 34 false false R35.htm 995479 - Disclosure - Note 8 - Leases (Tables) Sheet http://www.intest.com/20231231/role/statement-note-8-leases-tables Note 8 - Leases (Tables) Tables http://www.intest.com/20231231/role/statement-note-8-leases 35 false false R36.htm 995480 - Disclosure - Note 9 - Other Current Liabilities (Tables) Sheet http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables Note 9 - Other Current Liabilities (Tables) Tables http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities- 36 false false R37.htm 995481 - Disclosure - Note 10 - Debt (Tables) Sheet http://www.intest.com/20231231/role/statement-note-10-debt-tables Note 10 - Debt (Tables) Tables http://www.intest.com/20231231/role/statement-note-10-debt 37 false false R38.htm 995482 - Disclosure - Note 11 - Income Taxes (Tables) Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables Note 11 - Income Taxes (Tables) Tables http://www.intest.com/20231231/role/statement-note-11-income-taxes- 38 false false R39.htm 995483 - Disclosure - Note 13 - Stock-based Compensation Plan (Tables) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables Note 13 - Stock-based Compensation Plan (Tables) Tables http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan 39 false false R40.htm 995484 - Disclosure - Note 17 - Segment Information (Tables) Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information-tables Note 17 - Segment Information (Tables) Tables http://www.intest.com/20231231/role/statement-note-17-segment-information 40 false false R41.htm 995485 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) (Tables) Sheet http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables Note 18 - Quarterly Consolidated Financial Data (Unaudited) (Tables) Tables http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited- 41 false false R42.htm 995486 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables) Sheet http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables Schedule II - Valuation and Qualifying Accounts (Tables) Tables http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts 42 false false R43.htm 995487 - Disclosure - Note 1 - Nature of Operations (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual Note 1 - Nature of Operations (Details Textual) Details http://www.intest.com/20231231/role/statement-note-1-nature-of-operations 43 false false R44.htm 995488 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual Note 2 - Summary of Significant Accounting Policies (Details Textual) Details http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables 44 false false R45.htm 995489 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) Sheet http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details) Details 45 false false R46.htm 995490 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) Sheet http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details) Details 46 false false R47.htm 995491 - Disclosure - Note 3 - Fair Value Measurements (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual Note 3 - Fair Value Measurements (Details Textual) Details http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables 47 false false R48.htm 995492 - Disclosure - Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) Sheet http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details) Details 48 false false R49.htm 995493 - Disclosure - Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Sheet http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details) Details 49 false false R50.htm 995494 - Disclosure - Note 4 - Goodwill and Intangible Assets (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual Note 4 - Goodwill and Intangible Assets (Details Textual) Details http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables 50 false false R51.htm 995495 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details) Details 51 false false R52.htm 995496 - Disclosure - Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details) Details 52 false false R53.htm 995497 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details) Details 53 false false R54.htm 995498 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details) Details 54 false false R55.htm 995499 - Disclosure - Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) Sheet http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details) Details 55 false false R56.htm 995500 - Disclosure - Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) Sheet http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details) Details 56 false false R57.htm 995501 - Disclosure - Note 6 - Major Customers (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual Note 6 - Major Customers (Details Textual) Details http://www.intest.com/20231231/role/statement-note-6-major-customers 57 false false R58.htm 995502 - Disclosure - Note 7 - Inventories - Inventories (Details) Sheet http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details Note 7 - Inventories - Inventories (Details) Details 58 false false R59.htm 995503 - Disclosure - Note 8 - Leases (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-8-leases-details-textual Note 8 - Leases (Details Textual) Details http://www.intest.com/20231231/role/statement-note-8-leases-tables 59 false false R60.htm 995504 - Disclosure - Note 8 - Leases - Lease Costs (Details) Sheet http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details Note 8 - Leases - Lease Costs (Details) Details 60 false false R61.htm 995505 - Disclosure - Note 8 - Leases - Maturities of Lease Liabilities (Details) Sheet http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details Note 8 - Leases - Maturities of Lease Liabilities (Details) Details 61 false false R62.htm 995506 - Disclosure - Note 8 - Leases - Lease Modifications (Details) Sheet http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details Note 8 - Leases - Lease Modifications (Details) Details 62 false false R63.htm 995507 - Disclosure - Note 9 - Other Current Liabilities - Other Current Liabilities (Details) Sheet http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details Note 9 - Other Current Liabilities - Other Current Liabilities (Details) Details 63 false false R64.htm 995508 - Disclosure - Note 10 - Debt (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-10-debt-details-textual Note 10 - Debt (Details Textual) Details http://www.intest.com/20231231/role/statement-note-10-debt-tables 64 false false R65.htm 995509 - Disclosure - Note 10 - Debt - Outstanding Letters of Credit (Details) Sheet http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details Note 10 - Debt - Outstanding Letters of Credit (Details) Details 65 false false R66.htm 995510 - Disclosure - Note 10 - Debt - Future Maturities of Long-term Debt (Details) Sheet http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details Note 10 - Debt - Future Maturities of Long-term Debt (Details) Details 66 false false R67.htm 995511 - Disclosure - Note 11 - Income Taxes (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual Note 11 - Income Taxes (Details Textual) Details http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables 67 false false R68.htm 995512 - Disclosure - Note 11 - Income Taxes - Earnings Before Income Taxes (Details) Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details Note 11 - Income Taxes - Earnings Before Income Taxes (Details) Details 68 false false R69.htm 995513 - Disclosure - Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details) Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details) Details 69 false false R70.htm 995514 - Disclosure - Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details) Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details) Details 70 false false R71.htm 995515 - Disclosure - Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details) Sheet http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details) Details 71 false false R72.htm 995516 - Disclosure - Note 13 - Stock-based Compensation Plan (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual Note 13 - Stock-based Compensation Plan (Details Textual) Details http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables 72 false false R73.htm 995517 - Disclosure - Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details) Details 73 false false R74.htm 995518 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details) Details 74 false false R75.htm 995519 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) Details 75 false false R76.htm 995520 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals) Details 76 false false R77.htm 995521 - Disclosure - Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details) Sheet http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details) Details 77 false false R78.htm 995522 - Disclosure - Note 14 - Stock Repurchase Plans (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual Note 14 - Stock Repurchase Plans (Details Textual) Details http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans 78 false false R79.htm 995523 - Disclosure - Note 15 - Employee Stock Purchase Plan (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual Note 15 - Employee Stock Purchase Plan (Details Textual) Details http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan 79 false false R80.htm 995524 - Disclosure - Note 16 - Employee Benefit Plans (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual Note 16 - Employee Benefit Plans (Details Textual) Details http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans 80 false false R81.htm 995525 - Disclosure - Note 17 - Segment Information (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual Note 17 - Segment Information (Details Textual) Details http://www.intest.com/20231231/role/statement-note-17-segment-information-tables 81 false false R82.htm 995526 - Disclosure - Note 17 - Segment Information - Segment Information (Details) Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details Note 17 - Segment Information - Segment Information (Details) Details 82 false false R83.htm 995527 - Disclosure - Note 17 - Segment Information - Identifiable Assets (Details) Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details Note 17 - Segment Information - Identifiable Assets (Details) Details 83 false false R84.htm 995528 - Disclosure - Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details) Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details) Details 84 false false R85.htm 995529 - Disclosure - Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details) Sheet http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details) Details 85 false false R86.htm 995530 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details) Sheet http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details) Details http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables 86 false false R87.htm 995531 - Disclosure - Note 19 - Subsequent Events (Details Textual) Sheet http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual Note 19 - Subsequent Events (Details Textual) Details http://www.intest.com/20231231/role/statement-note-19-subsequent-events 87 false false R88.htm 995532 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details Textual) Sheet http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual Schedule II - Valuation and Qualifying Accounts (Details Textual) Details http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables 88 false false R89.htm 995533 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) Sheet http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details) Details 89 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 63 fact(s) appearing in ix:hidden were eligible for transformation: dei:CurrentFiscalYearEndDate, dei:EntityRegistrantName, ecd:NonRule10b51ArrAdoptedFlag, ecd:NonRule10b51ArrTrmntdFlag, ecd:Rule10b51ArrAdoptedFlag, ecd:Rule10b51ArrTrmntdFlag, ecd:TrdArrAdoptionDate, ecd:TrdArrIndName, ecd:TrdArrIndTitle, ecd:TrdArrSecuritiesAggAvailAmt, ecd:TrdArrTerminationDate, intt:DebtInstrumentDrawPeriod, intt:DefinedContributionPlanEmployerMatchingContributionVestingPeriod, intt:NumberOfMajorCustomers, us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent, us-gaap:CommonStockParOrStatedValuePerShare, us-gaap:CommonStockSharesAuthorized, us-gaap:CommonStockSharesIssued, us-gaap:DebtInstrumentTerm, us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount, us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate, us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount, us-gaap:LeaseExpirationDate1, us-gaap:LineOfCredit, us-gaap:LineOfCreditFacilityExpirationDate1, us-gaap:LineOfCreditFacilityInitiationDate1, us-gaap:NumberOfReportableSegments, us-gaap:NumberOfReportingUnits, us-gaap:OperatingLeaseLiability, us-gaap:PreferredStockParOrStatedValuePerShare, us-gaap:PreferredStockSharesAuthorized, us-gaap:PreferredStockSharesIssued, us-gaap:PreferredStockSharesOutstanding, us-gaap:PropertyPlantAndEquipmentUsefulLife, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1, us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber, us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod, us-gaap:TreasuryStockCommonShares - intt20231231_10k.htm 8, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75 intt-20231231.xsd intt-20231231_cal.xml intt-20231231_def.xml intt-20231231_lab.xml intt-20231231_pre.xml intt20231231_10k.htm intt20231231_10kimg001.jpg http://fasb.org/srt/2023 http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 114 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "intt20231231_10k.htm": { "nsprefix": "intt", "nsuri": "http://www.intest.com/20231231", "dts": { "schema": { "local": [ "intt-20231231.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/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/currency/2023/currency-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/exch/2023/exch-2023.xsd", "https://xbrl.sec.gov/naics/2023/naics-2023.xsd", "https://xbrl.sec.gov/sic/2023/sic-2023.xsd", "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" ] }, "calculationLink": { "local": [ "intt-20231231_cal.xml" ] }, "definitionLink": { "local": [ "intt-20231231_def.xml" ] }, "labelLink": { "local": [ "intt-20231231_lab.xml" ] }, "presentationLink": { "local": [ "intt-20231231_pre.xml" ] }, "inline": { "local": [ "intt20231231_10k.htm" ] } }, "keyStandard": 395, "keyCustom": 49, "axisStandard": 36, "axisCustom": 0, "memberStandard": 40, "memberCustom": 64, "hidden": { "total": 69, "http://xbrl.sec.gov/ecd/2023": 9, "http://fasb.org/us-gaap/2023": 51, "http://www.intest.com/20231231": 3, "http://xbrl.sec.gov/dei/2023": 6 }, "contextCount": 288, "entityCount": 1, "segmentCount": 107, "elementCount": 698, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 1083, "http://xbrl.sec.gov/dei/2023": 37, "http://xbrl.sec.gov/ecd/2023": 10, "http://fasb.org/srt/2023": 1 }, "report": { "R1": { "role": "http://www.intest.com/20231231/role/statement-document-and-entity-information", "longName": "000 - Document - Document And Entity Information", "shortName": "Document And Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "b", "p", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "b", "p", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "longName": "001 - Statement - Consolidated Balance Sheets", "shortName": "Consolidated Balance Sheets", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:AccountsReceivableNetCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R3": { "role": "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals", "longName": "002 - Statement - Consolidated Balance Sheets (Parentheticals)", "shortName": "Consolidated Balance Sheets (Parentheticals)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": null, "uniqueAnchor": null }, "R4": { "role": "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "longName": "003 - Statement - Consolidated Statements of Operations", "shortName": "Consolidated Statements of Operations", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:CostOfRevenue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R5": { "role": "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings", "longName": "004 - Statement - Consolidated Statements of Comprehensive Earnings", "shortName": "Consolidated Statements of Comprehensive Earnings", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R6": { "role": "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "longName": "005 - Statement - Consolidated Statements of Stockholders' Equity", "shortName": "Consolidated Statements of Stockholders' Equity", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember", "name": "us-gaap:SharesOutstanding", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31_StatementEquityComponentsAxis-CommonStockMember", "name": "us-gaap:SharesOutstanding", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "longName": "006 - Statement - Consolidated Statements of Cash Flows", "shortName": "Consolidated Statements of Cash Flows", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:NetIncomeLoss", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R8": { "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": "8", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "ecd:MtrlTermsOfTrdArrTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "longName": "995453 - Disclosure - Note 1 - Nature of Operations", "shortName": "Note 1 - Nature of Operations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "longName": "995454 - Disclosure - Note 2 - Summary of Significant Accounting Policies", "shortName": "Note 2 - Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "longName": "995455 - Disclosure - Note 3 - Fair Value Measurements", "shortName": "Note 3 - Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "longName": "995456 - Disclosure - Note 4 - Goodwill and Intangible Assets", "shortName": "Note 4 - Goodwill and Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers", "longName": "995457 - Disclosure - Note 5 - Revenue From Contracts With Customers", "shortName": "Note 5 - Revenue From Contracts With Customers", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.intest.com/20231231/role/statement-note-6-major-customers", "longName": "995458 - Disclosure - Note 6 - Major Customers", "shortName": "Note 6 - Major Customers", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ConcentrationRiskDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.intest.com/20231231/role/statement-note-7-inventories", "longName": "995459 - Disclosure - Note 7 - Inventories", "shortName": "Note 7 - Inventories", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:InventoryDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.intest.com/20231231/role/statement-note-8-leases", "longName": "995460 - Disclosure - Note 8 - Leases", "shortName": "Note 8 - Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-", "longName": "995461 - Disclosure - Note 9 - Other Current Liabilities", "shortName": "Note 9 - Other Current Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.intest.com/20231231/role/statement-note-10-debt", "longName": "995462 - Disclosure - Note 10 - Debt", "shortName": "Note 10 - Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-", "longName": "995463 - Disclosure - Note 11 - Income Taxes", "shortName": "Note 11 - Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-", "longName": "995464 - Disclosure - Note 12 - Legal Proceedings", "shortName": "Note 12 - Legal Proceedings", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:LegalMattersAndContingenciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "longName": "995465 - Disclosure - Note 13 - Stock-based Compensation Plan", "shortName": "Note 13 - Stock-based Compensation Plan", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans", "longName": "995466 - Disclosure - Note 14 - Stock Repurchase Plans", "shortName": "Note 14 - Stock Repurchase Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:StockRepurchasePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:StockRepurchasePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "longName": "995467 - Disclosure - Note 15 - Employee Stock Purchase Plan", "shortName": "Note 15 - Employee Stock Purchase Plan", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:EmployeeStockPurchasePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:EmployeeStockPurchasePlanTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "longName": "995468 - Disclosure - Note 16 - Employee Benefit Plans", "shortName": "Note 16 - Employee Benefit Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information", "longName": "995469 - Disclosure - Note 17 - Segment Information", "shortName": "Note 17 - Segment Information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-", "longName": "995470 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited)", "shortName": "Note 18 - Quarterly Consolidated Financial Data (Unaudited)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "longName": "995471 - Disclosure - Note 19 - Subsequent Events", "shortName": "Note 19 - Subsequent Events", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "27", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "longName": "995472 - Disclosure - Schedule II - Valuation and Qualifying Accounts", "shortName": "Schedule II - Valuation and Qualifying Accounts", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "28", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies", "longName": "995473 - Disclosure - Significant Accounting Policies (Policies)", "shortName": "Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "29", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:BasisOfPresentationAndUseOfEstimatesPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:BasisOfPresentationAndUseOfEstimatesPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "longName": "995474 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Tables)", "shortName": "Note 2 - Summary of Significant Accounting Policies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables", "longName": "995475 - Disclosure - Note 3 - Fair Value Measurements (Tables)", "shortName": "Note 3 - Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables", "longName": "995476 - Disclosure - Note 4 - Goodwill and Intangible Assets (Tables)", "shortName": "Note 4 - Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ScheduleOfChangesInGoodwillTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ScheduleOfChangesInGoodwillTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables", "longName": "995477 - Disclosure - Note 5 - Revenue From Contracts With Customers (Tables)", "shortName": "Note 5 - Revenue From Contracts With Customers (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.intest.com/20231231/role/statement-note-7-inventories-tables", "longName": "995478 - Disclosure - Note 7 - Inventories (Tables)", "shortName": "Note 7 - Inventories (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.intest.com/20231231/role/statement-note-8-leases-tables", "longName": "995479 - Disclosure - Note 8 - Leases (Tables)", "shortName": "Note 8 - Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables", "longName": "995480 - Disclosure - Note 9 - Other Current Liabilities (Tables)", "shortName": "Note 9 - Other Current Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.intest.com/20231231/role/statement-note-10-debt-tables", "longName": "995481 - Disclosure - Note 10 - Debt (Tables)", "shortName": "Note 10 - Debt (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "37", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables", "longName": "995482 - Disclosure - Note 11 - Income Taxes (Tables)", "shortName": "Note 11 - Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "38", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables", "longName": "995483 - Disclosure - Note 13 - Stock-based Compensation Plan (Tables)", "shortName": "Note 13 - Stock-based Compensation Plan (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "39", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "longName": "995484 - Disclosure - Note 17 - Segment Information (Tables)", "shortName": "Note 17 - Segment Information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "40", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "longName": "995485 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) (Tables)", "shortName": "Note 18 - Quarterly Consolidated Financial Data (Unaudited) (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "41", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "longName": "995486 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Tables)", "shortName": "Schedule II - Valuation and Qualifying Accounts (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "42", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ValuationAllowancesAndReservesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "intt:ValuationAllowancesAndReservesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "longName": "995487 - Disclosure - Note 1 - Nature of Operations (Details Textual)", "shortName": "Note 1 - Nature of Operations (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:NumberOfOperatingSegments", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "longName": "995488 - Disclosure - Note 2 - Summary of Significant Accounting Policies (Details Textual)", "shortName": "Note 2 - Summary of Significant Accounting Policies (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:RestrictedCash", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableRecoveries", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:ReceivablesPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R45": { "role": "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "longName": "995489 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details)", "shortName": "Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R46": { "role": "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "longName": "995490 - Disclosure - Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details)", "shortName": "Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "d_2023-10-01_2023-12-31", "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R47": { "role": "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "longName": "995491 - Disclosure - Note 3 - Fair Value Measurements (Details Textual)", "shortName": "Note 3 - Fair Value Measurements (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:BusinessCombinationContingentConsiderationLiabilityCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31_FairValueByFairValueHierarchyLevelAxis-FairValueInputsLevel3Member_FairValueByMeasurementFrequencyAxis-FairValueMeasurementsRecurringMember_IncomeStatementLocationAxis-GeneralAndAdministrativeExpenseMember", "name": "us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R48": { "role": "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "longName": "995492 - Disclosure - Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details)", "shortName": "Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "i_2023-12-31_DerivativeInstrumentRiskAxis-InterestRateSwapMember", "name": "us-gaap:DerivativeAssets", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31_BusinessAcquisitionAxis-AcculogicMember", "name": "us-gaap:BusinessCombinationContingentConsiderationLiability", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R49": { "role": "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "longName": "995493 - Disclosure - Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)", "shortName": "Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "i_2022-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31_FairValueByLiabilityClassAxis-ContingentConsiderationLiabilitiesMember", "name": "us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R50": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "longName": "995494 - Disclosure - Note 4 - Goodwill and Intangible Assets (Details Textual)", "shortName": "Note 4 - Goodwill and Intangible Assets (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:GoodwillAndIntangibleAssetImpairment", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:GoodwillAndIntangibleAssetImpairment", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "longName": "995495 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)", "shortName": "Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "i_2022-12-31", "name": "us-gaap:Goodwill", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2022-01-01_2022-12-31", "name": "us-gaap:GoodwillPurchaseAccountingAdjustments", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfChangesInGoodwillTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R52": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "longName": "995496 - Disclosure - Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details)", "shortName": "Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:Goodwill", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "ix:continuation", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R53": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "longName": "995497 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)", "shortName": "Note 4 - 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": "53", "firstAnchor": { "contextRef": "i_2022-12-31", "name": "us-gaap:IndefiniteLivedIntangibleAssetsExcludingGoodwill", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2022-01-01_2022-12-31", "name": "us-gaap:IndefiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R54": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "longName": "995498 - Disclosure - Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details)", "shortName": "Note 4 - 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": "i_2022-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsNet", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2022-01-01_2022-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R55": { "role": "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "longName": "995499 - Disclosure - Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)", "shortName": "Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "longName": "995500 - Disclosure - Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details)", "shortName": "Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "d_2023-10-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31_EquitySecuritiesByIndustryAxis-SemiconductorMarketMember", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R57": { "role": "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual", "longName": "995501 - Disclosure - Note 6 - Major Customers (Details Textual)", "shortName": "Note 6 - Major Customers (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-TexasInstrumentsIncorporatedMember", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31_ConcentrationRiskByBenchmarkAxis-SalesRevenueNetMember_ConcentrationRiskByTypeAxis-CustomerConcentrationRiskMember_MajorCustomersAxis-TexasInstrumentsIncorporatedMember", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:ConcentrationRiskDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details", "longName": "995502 - Disclosure - Note 7 - Inventories - Inventories (Details)", "shortName": "Note 7 - Inventories - Inventories (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:InventoryRawMaterialsNetOfReserves", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "longName": "995503 - Disclosure - Note 8 - Leases (Details Textual)", "shortName": "Note 8 - Leases (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details", "longName": "995504 - Disclosure - Note 8 - Leases - Lease Costs (Details)", "shortName": "Note 8 - Leases - Lease Costs (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OperatingLeaseCost", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:OperatingLeaseCost", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "longName": "995505 - Disclosure - Note 8 - Leases - Maturities of Lease Liabilities (Details)", "shortName": "Note 8 - Leases - Maturities of Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details", "longName": "995506 - Disclosure - Note 8 - Leases - Lease Modifications (Details)", "shortName": "Note 8 - Leases - Lease Modifications (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:OperatingLeaseLiability", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31_LeaseContractualTermAxis-AutomobileLeaseOneMember", "name": "us-gaap:OperatingLeaseLiability", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "intt:SupplementalCashFlowInfomationLesseeTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R63": { "role": "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details", "longName": "995507 - Disclosure - Note 9 - Other Current Liabilities - Other Current Liabilities (Details)", "shortName": "Note 9 - Other Current Liabilities - Other Current Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "longName": "995508 - Disclosure - Note 10 - Debt (Details Textual)", "shortName": "Note 10 - Debt (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "i_2022-09-20", "name": "intt:DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2022-09-20", "name": "intt:DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details", "longName": "995509 - Disclosure - Note 10 - Debt - Outstanding Letters of Credit (Details)", "shortName": "Note 10 - Debt - Outstanding Letters of Credit (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "i_2023-12-31_CreditFacilityAxis-LetterOfCreditMember", "name": "us-gaap:LettersOfCreditOutstandingAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31_CreditFacilityAxis-LetterOfCreditMember", "name": "us-gaap:LettersOfCreditOutstandingAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "td", "tr", "tbody", "table", "intt:ScheduleOfOutstandingLettersOfCreditTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details", "longName": "995510 - Disclosure - Note 10 - Debt - Future Maturities of Long-term Debt (Details)", "shortName": "Note 10 - Debt - Future Maturities of Long-term Debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual", "longName": "995511 - Disclosure - Note 11 - Income Taxes (Details Textual)", "shortName": "Note 11 - Income Taxes (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:ValuationAllowanceDeferredTaxAssetChangeInAmount", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details", "longName": "995512 - Disclosure - Note 11 - Income Taxes - Earnings Before Income Taxes (Details)", "shortName": "Note 11 - Income Taxes - Earnings Before Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R69": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details", "longName": "995513 - Disclosure - Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details)", "shortName": "Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:CurrentFederalTaxExpenseBenefit", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details", "longName": "995514 - Disclosure - Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details)", "shortName": "Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "intt:DeferredTaxAssetsCapitalizedResearchAndDevelopment", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "intt:DeferredTaxAssetsCapitalizedResearchAndDevelopment", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R71": { "role": "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "longName": "995515 - Disclosure - Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details)", "shortName": "Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R72": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "longName": "995516 - Disclosure - Note 13 - Stock-based Compensation Plan (Details Textual)", "shortName": "Note 13 - Stock-based Compensation Plan (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R73": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "longName": "995517 - Disclosure - Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details)", "shortName": "Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "73", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31_AwardTypeAxis-RestrictedStockMember", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31_AwardTypeAxis-RestrictedStockMember", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "longName": "995518 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details)", "shortName": "Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "74", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31_AwardTypeAxis-EmployeeStockOptionMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31_AwardTypeAxis-EmployeeStockOptionMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "4", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R75": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details", "longName": "995519 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details)", "shortName": "Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "i_2022-12-31", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R76": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "longName": "995520 - Disclosure - Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals)", "shortName": "Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "parenthetical", "menuCat": "Details", "order": "76", "firstAnchor": null, "uniqueAnchor": null }, "R77": { "role": "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details", "longName": "995521 - Disclosure - Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details)", "shortName": "Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "77", "firstAnchor": { "contextRef": "i_2022-12-31_AwardTypeAxis-RestrictedStockMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31_AwardTypeAxis-RestrictedStockMember", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "unitRef": "Share", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R78": { "role": "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual", "longName": "995522 - Disclosure - Note 14 - Stock Repurchase Plans (Details Textual)", "shortName": "Note 14 - Stock Repurchase Plans (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "78", "firstAnchor": { "contextRef": "i_2023-11-20", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-7", "ancestors": [ "p", "intt:StockRepurchasePlanTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "i_2023-11-20", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-7", "ancestors": [ "p", "intt:StockRepurchasePlanTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R79": { "role": "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual", "longName": "995523 - Disclosure - Note 15 - Employee Stock Purchase Plan (Details Textual)", "shortName": "Note 15 - Employee Stock Purchase Plan (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "79", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:SharePrice", "unitRef": "USDPerShare", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "intt:EmployeeStockPurchasePlanTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R80": { "role": "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual", "longName": "995524 - Disclosure - Note 16 - Employee Benefit Plans (Details Textual)", "shortName": "Note 16 - Employee Benefit Plans (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "80", "firstAnchor": { "contextRef": "d_2022-01-01_2022-12-31_RetirementPlanNameAxis-The401KPlanMember", "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "1", "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2022-01-01_2022-12-31_RetirementPlanNameAxis-The401KPlanMember", "name": "us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent", "unitRef": "Pure", "xsiNil": "false", "lang": null, "decimals": "1", "ancestors": [ "p", "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R81": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual", "longName": "995525 - Disclosure - Note 17 - Segment Information (Details Textual)", "shortName": "Note 17 - Segment Information (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "81", "firstAnchor": null, "uniqueAnchor": null }, "R82": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "longName": "995526 - Disclosure - Note 17 - Segment Information - Segment Information (Details)", "shortName": "Note 17 - Segment Information - Segment Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "82", "firstAnchor": { "contextRef": "d_2023-10-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31", "name": "us-gaap:DepreciationAndAmortization", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R83": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "longName": "995527 - Disclosure - Note 17 - Segment Information - Identifiable Assets (Details)", "shortName": "Note 17 - Segment Information - Identifiable Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "83", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:Assets", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31_StatementBusinessSegmentsAxis-ElectronicTestMember", "name": "us-gaap:Assets", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R84": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "longName": "995528 - Disclosure - Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details)", "shortName": "Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "84", "firstAnchor": { "contextRef": "d_2023-10-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-01-01_2023-12-31_StatementGeographicalAxis-US", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R85": { "role": "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "longName": "995529 - Disclosure - Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details)", "shortName": "Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "85", "firstAnchor": { "contextRef": "i_2023-12-31", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-4", "ancestors": [ "td", "tr", "tbody", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2023-12-31_StatementGeographicalAxis-US", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R86": { "role": "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "longName": "995530 - Disclosure - Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details)", "shortName": "Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "86", "firstAnchor": { "contextRef": "d_2023-10-01_2023-12-31", "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "d_2023-10-01_2023-12-31", "name": "us-gaap:GrossProfit", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R87": { "role": "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "longName": "995531 - Disclosure - Note 19 - Subsequent Events (Details Textual)", "shortName": "Note 19 - Subsequent Events (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "87", "firstAnchor": { "contextRef": "d_2024-03-12_2024-03-12_BusinessAcquisitionAxis-AlfamationMember_SubsequentEventTypeAxis-SubsequentEventMember", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "d_2024-03-12_2024-03-12_BusinessAcquisitionAxis-AlfamationMember_SubsequentEventTypeAxis-SubsequentEventMember", "name": "us-gaap:BusinessCombinationConsiderationTransferred1", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "us-gaap:SubsequentEventsTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true, "unique": true } }, "R88": { "role": "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "longName": "995532 - Disclosure - Schedule II - Valuation and Qualifying Accounts (Details Textual)", "shortName": "Schedule II - Valuation and Qualifying Accounts (Details Textual)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "88", "firstAnchor": { "contextRef": "d_2023-01-01_2023-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember", "name": "us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "intt:ValuationAllowancesAndReservesTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis-AcquiredAccountsReceivableSubsequentlyRecoveredMember", "name": "us-gaap:AccountsReceivableFairValueDisclosure", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "tbody", "table", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } }, "R89": { "role": "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "longName": "995533 - Disclosure - Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details)", "shortName": "Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "89", "firstAnchor": { "contextRef": "i_2022-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember", "name": "us-gaap:ValuationAllowancesAndReservesBalance", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "intt:ValuationAllowancesAndReservesTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "i_2021-12-31_ValuationAllowancesAndReservesTypeAxis-AllowanceForCreditLossMember", "name": "us-gaap:ValuationAllowancesAndReservesBalance", "unitRef": "USD", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "td", "tr", "tbody", "table", "intt:ValuationAllowancesAndReservesTableTextBlock", "srt:ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "intt20231231_10k.htm", "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period." } } }, "auth_ref": [] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Accounts payable", "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": [ "r33", "r796" ] }, "us-gaap_AccountsReceivableFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_AccountsReceivableFairValueDisclosure", "terseLabel": "Accounts Receivable, Fair Value Disclosure", "documentation": "Fair value portion of amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties." } } }, "auth_ref": [ "r565" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Trade accounts receivable, net of allowance for credit losses of $474 and $496, respectively", "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": [ "r331", "r332" ] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Accrued taxes", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r119", "r172" ] }, "us-gaap_AccruedProfessionalFeesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedProfessionalFeesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Accrued professional fees", "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": [ "r37" ] }, "us-gaap_AccruedSalesCommissionCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedSalesCommissionCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "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": [ "r37", "r758" ] }, "intt_AcculogicMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AcculogicMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Acculogic [Member]", "documentation": "Represents Acculogic." } } }, "auth_ref": [] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "negatedLabel": "Less: accumulated depreciation", "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": [ "r80", "r223", "r618" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Accumulated other comprehensive earnings", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r46", "r47", "r132", "r230", "r614", "r647", "r648" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "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": [ "r7", "r18", "r47", "r550", "r553", "r590", "r643", "r644", "r850", "r851", "r852", "r866", "r867", "r868" ] }, "intt_AcquiredAccountsReceivableSubsequentlyRecoveredMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AcquiredAccountsReceivableSubsequentlyRecoveredMember", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual" ], "lang": { "en-us": { "role": { "label": "Acquired Accounts Receivable Subsequently Recovered [Member]", "documentation": "Relating to acquired accounts receivable subsequently recovered." } } }, "auth_ref": [] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "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": [ "r124", "r796", "r1006" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "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": [ "r501", "r502", "r503", "r656", "r866", "r867", "r868", "r983", "r1008" ] }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net earnings to net cash provided by (used in) operating activities:" } } }, "auth_ref": [] }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Shares surrendered to satisfy tax liability at vesting of stock-based awards", "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Amortization of deferred compensation related to stock-based awards", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r87", "r88", "r463" ] }, "intt_AggregateOfferingPriceOfStock": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AggregateOfferingPriceOfStock", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_AggregateOfferingPriceOfStock", "terseLabel": "Aggregate Offering Price of Stock", "documentation": "The aggregate value offering price of stock issued and sold." } } }, "auth_ref": [] }, "intt_AlfamationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AlfamationMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "Alfamation [Member]", "documentation": "Relating to Alfamation." } } }, "auth_ref": [] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_AllocatedShareBasedCompensationExpense", "terseLabel": "Allocation of Share-based Compensation Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r495", "r508" ] }, "us-gaap_AllowanceForCreditLossMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForCreditLossMember", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Allowance, Credit Loss [Member]", "documentation": "Allowance for credit loss from right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r859", "r860", "r861", "r863", "r864" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Allowance for doubtful accounts", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r231", "r334", "r342" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllowanceForDoubtfulAccountsReceivableRecoveries", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_AllowanceForDoubtfulAccountsReceivableRecoveries", "terseLabel": "Accounts Receivable, Allowance for Credit Loss, Recovery", "documentation": "Amount of increase in allowance for credit loss on accounts receivable, from recovery." } } }, "auth_ref": [ "r344" ] }, "intt_AmendedLoanAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AmendedLoanAgreementMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "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/2023", "localname": "AmendmentFlag", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_AmortizationOfIntangibleAssets", "negatedLabel": "Amortization", "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. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method." } } }, "auth_ref": [ "r12", "r73", "r78" ] }, "intt_AnnualLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AnnualLeasePayments", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_AnnualLeasePayments", "terseLabel": "Annual Lease Payments", "documentation": "Represents the amount of annual lease payments." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "terseLabel": "Average number of potentially dilutive securities excluded from calculation (in shares)", "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": [ "r293" ] }, "us-gaap_AreaOfRealEstateProperty": { "xbrltype": "areaItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AreaOfRealEstateProperty", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_AreaOfRealEstateProperty", "terseLabel": "Area of Real Estate Property (Square Foot)", "documentation": "Area of a real estate property." } } }, "auth_ref": [] }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ArrangementsAndNonarrangementTransactionsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]", "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r544" ] }, "intt_AssetMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AssetMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables" ], "lang": { "en-us": { "role": { "label": "Asset [Member]", "documentation": "The information pertaining to a financial statement line item." } } }, "auth_ref": [] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_Assets", "totalLabel": "Total assets", "terseLabel": "Identifiable Assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r170", "r227", "r256", "r301", "r316", "r322", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r545", "r547", "r566", "r610", "r690", "r796", "r811", "r888", "r889", "r990" ] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r218", "r234", "r256", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r545", "r547", "r566", "r796", "r888", "r889", "r990" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "auth_ref": [] }, "intt_AttheMarketIssuanceSalesAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AttheMarketIssuanceSalesAgreementMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "At-the-Market Issuance Sales Agreement [Member]", "documentation": "Represents At-the-Market Issuance Sales Agreement." } } }, "auth_ref": [] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Auditor Firm ID", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r815", "r816", "r817" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r815", "r816", "r817" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r815", "r816", "r817" ] }, "intt_AutomobileLeaseForVideologyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AutomobileLeaseForVideologyMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Automobile Lease for Videology [Member]", "documentation": "Represents automobile lease for Videology." } } }, "auth_ref": [] }, "intt_AutomobileLeaseOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AutomobileLeaseOneMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Automobile Lease, One [Member]", "documentation": "Represents the type of leasing arrangement." } } }, "auth_ref": [] }, "intt_AutomobileLeaseTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AutomobileLeaseTwoMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Automobile Lease, Two [Member]", "documentation": "Represents the type of leasing arrangement." } } }, "auth_ref": [] }, "intt_AutomobileLeasesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AutomobileLeasesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual" ], "lang": { "en-us": { "role": { "label": "Automobile Leases [Member]", "documentation": "Information pertaining to automobile leases." } } }, "auth_ref": [] }, "intt_AutomotiveMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "AutomotiveMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Automotive [Member]", "documentation": "Represents Automotive." } } }, "auth_ref": [] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r490", "r491", "r492", "r493", "r494" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Axis]", "documentation": "Information by location on balance sheet (statement of financial position)." } } }, "auth_ref": [] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Balance Sheet Location [Domain]", "documentation": "Location in the balance sheet (statement of financial position)." } } }, "auth_ref": [ "r101", "r104" ] }, "intt_BankGuaranteeOnCustomerOrderDepositMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "BankGuaranteeOnCustomerOrderDepositMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "Bank Guarantee on Customer Order Deposit [Member]", "documentation": "Represents bank guarantee on customer order deposit." } } }, "auth_ref": [] }, "intt_BasisOfPresentationAndUseOfEstimatesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "BasisOfPresentationAndUseOfEstimatesPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Basis Of Presentation And Use Of Estimates [Policy Text Block]", "documentation": "Basis of presentation and use of estimates policy text block." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r540", "r789", "r790" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r92", "r93", "r540", "r789", "r790" ] }, "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_BusinessAcquisitionEquityInterestsIssuedOrIssuableNumberOfSharesIssued", "terseLabel": "Business Acquisition, Equity Interest Issued or Issuable, Number of Shares (in shares)", "documentation": "Number of shares of equity interests issued or issuable to acquire entity." } } }, "auth_ref": [ "r165" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_BusinessCombinationConsiderationTransferred1", "terseLabel": "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": [ "r2", "r3", "r15" ] }, "us-gaap_BusinessCombinationConsiderationTransferredOther1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferredOther1", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_BusinessCombinationConsiderationTransferredOther1", "terseLabel": "Business Combination, Consideration Transferred, Other", "documentation": "Amount of tangible or intangible assets, including a business or subsidiary of the acquirer transferred by the entity to the former owners of the acquiree. Excludes cash." } } }, "auth_ref": [ "r16" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Adjustment to contingent consideration liability", "terseLabel": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r543", "r853" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_BusinessCombinationContingentConsiderationLiability", "negatedLabel": "Contingent consideration liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r4", "r97", "r542" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Current portion of contingent consideration", "terseLabel": "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": [ "r5", "r97" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Contingent consideration", "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": [ "r5", "r97" ] }, "us-gaap_BusinessCombinationsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsPolicy", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Business Combinations Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy." } } }, "auth_ref": [ "r91" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 0.0 }, "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details" ], "lang": { "en-us": { "role": { "label": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r54", "r221", "r756" ] }, "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r55", "r169" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "totalLabel": "Total cash, cash equivalents and restricted cash", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r54", "r143", "r253" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of period", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of period", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r54", "r143", "r253" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Net cash provided by (used in) all activities", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r6", "r143" ] }, "intt_ChiefExecutiveOfficerAndChiefFinancialOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ChiefExecutiveOfficerAndChiefFinancialOfficerMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Chief Executive Officer and Chief Financial Officer [Member]", "documentation": "Related to Chief Executive Officer and Chief Financial Officer." } } }, "auth_ref": [] }, "srt_ChiefFinancialOfficerMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ChiefFinancialOfficerMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Chief Financial Officer [Member]", "documentation": "Person with designation of chief financial officer." } } }, "auth_ref": [ "r872" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CityAreaCode", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "intt_CityOfRochesterAndStateOfNewYorkMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "CityOfRochesterAndStateOfNewYorkMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "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": [] }, "intt_CommissionFeePercentageOfGrossProceeds": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "CommissionFeePercentageOfGrossProceeds", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_CommissionFeePercentageOfGrossProceeds", "terseLabel": "Commission Fee, Percentage of Gross Proceeds", "documentation": "The percentage charged for the sales of shares." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies (Note 12)", "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": [ "r43", "r116", "r611", "r677" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r799", "r800", "r801", "r803", "r804", "r805", "r808", "r866", "r867", "r983", "r1004", "r1008" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r123" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, shares authorized (in shares)", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r123", "r678" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Common stock, shares issued (in shares)", "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": [ "r123" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Common stock, $0.01 par value; 20,000,000 shares authorized; 12,241,925 and 11,063,271 shares issued, respectively", "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": [ "r123", "r613", "r796" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings" ], "lang": { "en-us": { "role": { "label": "us-gaap_ComprehensiveIncomeNetOfTax", "totalLabel": "Comprehensive earnings", "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": [ "r48", "r240", "r242", "r248", "r606", "r622" ] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r755", "r881", "r882" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r63", "r65", "r111", "r112", "r330", "r739" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r63", "r65", "r111", "r112", "r330", "r649", "r739" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r63", "r65", "r111", "r112", "r330", "r739", "r829" ] }, "us-gaap_ConcentrationRiskDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Disclosure [Text Block]", "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date." } } }, "auth_ref": [ "r148" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ConcentrationRiskPercentage1", "terseLabel": "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": [ "r63", "r65", "r111", "r112", "r330" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r63", "r65", "r111", "r112", "r330", "r739" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "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": [ "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r262", "r303", "r314", "r315", "r316", "r317", "r318", "r320", "r324", "r377", "r378", "r379", "r380", "r382", "r383", "r385", "r387", "r388", "r844", "r845", "r888", "r889" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "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": [ "r205", "r206", "r207", "r208", "r209", "r210", "r211", "r212", "r213", "r262", "r303", "r314", "r315", "r316", "r317", "r318", "r320", "r324", "r377", "r378", "r379", "r380", "r382", "r383", "r385", "r387", "r388", "r844", "r845", "r888", "r889" ] }, "intt_ContingentConsiderationLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ContingentConsiderationLiabilitiesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Contingent Consideration Liabilities [Member]", "documentation": "Represents contingent consideration liabilities." } } }, "auth_ref": [] }, "intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceived", "terseLabel": "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/20231231", "localname": "ContingentLiabilityRepaymentOfStateAndLocalGrantFundsReceivedPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "verboseLabel": "Customer deposits and deferred revenue", "label": "us-gaap_ContractWithCustomerLiabilityCurrent", "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": [ "r421", "r422", "r433" ] }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Deferred revenue, net of current portion", "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": [ "r421", "r422", "r433" ] }, "us-gaap_CorporateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details" ], "lang": { "en-us": { "role": { "label": "Corporate Segment [Member]", "documentation": "Component of an entity that usually provides financial, operational and administrative support and is considered an operating segment. Excludes intersegment elimination and reconciling items." } } }, "auth_ref": [ "r869" ] }, "us-gaap_CorporateNonSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CorporateNonSegmentMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "label": "Corporate, Non-Segment [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": [ "r26", "r315", "r316", "r317", "r318", "r324", "r871" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "Cost of revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r137", "r256", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r566", "r888" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfSalesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "srt_CounterpartyNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "CounterpartyNameAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r214", "r259", "r260", "r394", "r419", "r591", "r762", "r764" ] }, "intt_CovenantFutureAmountReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "CovenantFutureAmountReceivable", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_CovenantFutureAmountReceivable", "terseLabel": "Covenant, Future Amount Receivable", "documentation": "Future amount receivable if we create and maintain specified levels of employment in the specified location through various dates ending in 2023." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "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": [] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CreditFacilityDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "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": [] }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_CurrentFederalTaxExpenseBenefit", "terseLabel": "Domestic \u2013 Federal", "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r833", "r858", "r982" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CurrentForeignTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentForeignTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_CurrentForeignTaxExpenseBenefit", "terseLabel": "Foreign", "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r833", "r858" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_CurrentIncomeTaxExpenseBenefit", "totalLabel": "Total", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r163", "r528", "r534", "r858" ] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_CurrentIncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_CurrentStateAndLocalTaxExpenseBenefit", "terseLabel": "Domestic \u2013 state", "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r833", "r858", "r982" ] }, "intt_CustomerBacklogMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "CustomerBacklogMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Customer Backlog [Member]", "documentation": "Represents customer backlog." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r64", "r330" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r95" ] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt" ], "lang": { "en-us": { "role": { "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": [ "r157", "r255", "r390", "r396", "r397", "r398", "r399", "r400", "r401", "r406", "r413", "r414", "r415" ] }, "us-gaap_DebtInstrumentAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Axis]", "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities." } } }, "auth_ref": [ "r30", "r118", "r119", "r171", "r174", "r262", "r391", "r392", "r393", "r394", "r395", "r397", "r402", "r403", "r404", "r405", "r407", "r408", "r409", "r410", "r411", "r412", "r580", "r777", "r778", "r779", "r780", "r781", "r856" ] }, "intt_DebtInstrumentCovenantFixedChargeCoverageRatio": { "xbrltype": "pureItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DebtInstrumentCovenantFixedChargeCoverageRatio", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DebtInstrumentCovenantFixedChargeCoverageRatio", "terseLabel": "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/20231231", "localname": "DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DebtInstrumentCovenantRatioOfConsolidatedFundedDebtToConsolidatedEbitda", "terseLabel": "Debt Instrument, Covenant, Ratio of Consolidated Funded Debt to Consolidated EBITDA", "documentation": "Represents the covenant for a debt instrument relating to the ratio of consolidated funded debt to consolidated EBITDA." } } }, "auth_ref": [] }, "intt_DebtInstrumentDrawPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DebtInstrumentDrawPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DebtInstrumentDrawPeriod", "terseLabel": "Debt Instrument, Draw Period (Year)", "documentation": "Represents the period of time in which funds can be withdrawn under debt agreement, in PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtInstrumentFaceAmount", "terseLabel": "Debt Instrument, Face Amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r113", "r115", "r391", "r580", "r778", "r779" ] }, "us-gaap_DebtInstrumentInterestRateEffectivePercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateEffectivePercentage", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtInstrumentInterestRateEffectivePercentage", "terseLabel": "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": [ "r39", "r113", "r417", "r580" ] }, "intt_DebtInstrumentInterestRateInEventOfDefault": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DebtInstrumentInterestRateInEventOfDefault", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DebtInstrumentInterestRateInEventOfDefault", "terseLabel": "Debt Instrument, Interest Rate in Event of Default", "documentation": "Contractual interest rate for funds borrowed in event of default, under the debt agreement." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "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": [ "r41", "r262", "r391", "r392", "r393", "r394", "r395", "r397", "r402", "r403", "r404", "r405", "r407", "r408", "r409", "r410", "r411", "r412", "r580", "r777", "r778", "r779", "r780", "r781", "r856" ] }, "us-gaap_DebtInstrumentTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentTerm", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtInstrumentTerm", "terseLabel": "Debt Instrument, Term (Year)", "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/2023", "localname": "DebtInstrumentUnusedBorrowingCapacityAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DebtInstrumentUnusedBorrowingCapacityAmount", "terseLabel": "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": [ "r40" ] }, "intt_DefenseAerospaceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DefenseAerospaceMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Defense/ Aerospace [Member]", "documentation": "Represents defense/ aerospace." } } }, "auth_ref": [] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredFederalIncomeTaxExpenseBenefit", "terseLabel": "Domestic \u2013 Federal", "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r858", "r981", "r982" ] }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredForeignIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredForeignIncomeTaxExpenseBenefit", "terseLabel": "Foreign", "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r163", "r858", "r981" ] }, "intt_DeferredGrantProceeds": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DeferredGrantProceeds", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DeferredGrantProceeds", "terseLabel": "Deferred Grant Proceeds", "documentation": "Represents the amount of deferred grant proceeds." } } }, "auth_ref": [] }, "intt_DeferredGrantProceedsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DeferredGrantProceedsCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Current portion of deferred grant proceeds", "documentation": "Represents the current portion of deferred grant proceeds." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Deferred tax assets", "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": [ "r514", "r515" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredIncomeTaxExpenseBenefit", "totalLabel": "Total", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r12", "r163", "r186", "r533", "r534", "r858" ] }, "us-gaap_DeferredIncomeTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilities", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredIncomeTaxLiabilities", "negatedTotalLabel": "Deferred tax liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences." } } }, "auth_ref": [ "r120", "r121", "r173", "r522" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Deferred income tax benefit", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r145" ] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": "us-gaap_DeferredIncomeTaxExpenseBenefit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit", "terseLabel": "Domestic \u2013 state", "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r858", "r981", "r982" ] }, "intt_DeferredTaxAssetsAcquisitionCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DeferredTaxAssetsAcquisitionCosts", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Acquisition costs", "label": "intt_DeferredTaxAssetsAcquisitionCosts", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible acquisition costs." } } }, "auth_ref": [] }, "intt_DeferredTaxAssetsCapitalizedResearchAndDevelopment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DeferredTaxAssetsCapitalizedResearchAndDevelopment", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Capitalized research and development costs", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to capitalized research and development." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsGoodwillAndIntangibleAssets", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxAssetsGoodwillAndIntangibleAssets", "terseLabel": "Intangible assets", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from intangible assets including goodwill." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsGross", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxAssetsGross", "totalLabel": "Total", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r523" ] }, "us-gaap_DeferredTaxAssetsInventory": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsInventory", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Inventories", "label": "us-gaap_DeferredTaxAssetsInventory", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsLiabilitiesNet", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "totalLabel": "Net deferred tax assets", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting." } } }, "auth_ref": [ "r979" ] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsLiabilitiesNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxAssetsNet", "totalLabel": "Deferred tax assets", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r979" ] }, "us-gaap_DeferredTaxAssetsNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNetAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Deferred tax assets:" } } }, "auth_ref": [] }, "intt_DeferredTaxAssetsOperatingLeases": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DeferredTaxAssetsOperatingLeases", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Operating lease liabilities", "label": "intt_DeferredTaxAssetsOperatingLeases", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from operating leases." } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Net operating loss (state and foreign)", "label": "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOther", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Other", "label": "us-gaap_DeferredTaxAssetsOther", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences, classified as other." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxCreditCarryforwards", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Tax credit carryforwards", "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards." } } }, "auth_ref": [ "r89", "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Accrued vacation pay and stock-based compensation", "label": "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeBenefits", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from employee benefits, classified as other." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Allowance for doubtful accounts", "label": "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsGross", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Accrued warranty", "label": "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from warranty reserves." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxAssetsValuationAllowance", "negatedTerseLabel": "Valuation allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r524" ] }, "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets", "negatedTerseLabel": "Intangible assets", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxLiabilitiesNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesNetAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Deferred tax liabilities:" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxLiabilitiesOther", "negatedTerseLabel": "Other", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences classified as other." } } }, "auth_ref": [ "r90", "r980" ] }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment", "negatedTerseLabel": "Depreciation of property and equipment", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment." } } }, "auth_ref": [ "r90", "r980" ] }, "intt_DeferredTaxLiabilitiesRightOfUseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DeferredTaxLiabilitiesRightOfUseAssets", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details" ], "lang": { "en-us": { "role": { "label": "intt_DeferredTaxLiabilitiesRightOfUseAssets", "negatedTerseLabel": "Right-of-use assets", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from right-of-use assets." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount", "terseLabel": "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/2023", "localname": "DefinedContributionPlanEmployerMatchingContributionPercent", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercent", "terseLabel": "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": [] }, "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DefinedContributionPlanEmployerMatchingContributionPercentOfMatch", "terseLabel": "Defined Contribution Plan, Employer Matching Contribution, Percent of Match", "documentation": "Percentage employer matches of the employee's percentage contribution matched." } } }, "auth_ref": [] }, "intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DefinedContributionPlanEmployerMatchingContributionVestingPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DefinedContributionPlanEmployerMatchingContributionVestingPeriod", "terseLabel": "Defined Contribution Plan Employer Matching Contribution Vesting Period (Year)", "documentation": "Defined contribution plan employer matching contribution vesting period." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeeAmount", "terseLabel": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Amount", "documentation": "Maximum amount the employee may contribute to a defined contribution plan." } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_DefinedContributionPlanMaximumAnnualContributionsPerEmployeePercent", "terseLabel": "Defined Contribution Plan, Maximum Annual Contributions Per Employee, Percent", "documentation": "Maximum percentage of employee gross pay the employee may contribute to a defined contribution plan." } } }, "auth_ref": [] }, "intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DefinedContributionPlanMaximumAnnualEmployerMatchingContributionPerEmployeeAmount", "terseLabel": "Defined Contribution Plan Maximum Annual Employer Matching Contribution Per Emplyee 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/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_Depreciation", "terseLabel": "Depreciation, Total", "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": [ "r12", "r79" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationAndAmortization", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_DepreciationAndAmortization", "negatedLabel": "Acquired intangible amortization", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r12", "r79" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 12.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Depreciation 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": [ "r12", "r306" ] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Interest rate swap", "terseLabel": "Interest rate swap", "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": [ "r235", "r236", "r565", "r658", "r659", "r660", "r661", "r662", "r664", "r665", "r667", "r668", "r669", "r684", "r685", "r728", "r730", "r731", "r732", "r733", "r734", "r764", "r801", "r1005" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "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": [ "r667", "r669", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r691", "r692", "r693", "r694", "r705", "r706", "r707", "r708", "r711", "r712", "r713", "r714", "r728", "r729", "r731", "r733", "r799", "r801" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r102", "r103", "r105", "r106", "r667", "r669", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r691", "r692", "r693", "r694", "r705", "r706", "r707", "r708", "r711", "r712", "r713", "r714", "r728", "r729", "r731", "r733", "r764", "r799", "r801" ] }, "us-gaap_DerivativesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativesPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Derivatives, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities." } } }, "auth_ref": [ "r20", "r98", "r99", "r100", "r107", "r261" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables" ], "lang": { "en-us": { "role": { "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": [ "r891" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r462", "r465", "r497", "r498", "r500", "r792" ] }, "us-gaap_DisclosureTextBlockAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DisclosureTextBlockAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-", "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-17-segment-information", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-7-inventories", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts" ], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "auth_ref": [] }, "intt_DiscountedCashFlowsDiscountRate": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "DiscountedCashFlowsDiscountRate", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_DiscountedCashFlowsDiscountRate", "terseLabel": "Discounted Cash Flows, Discount Rate", "documentation": "Discount rate used by discounted cash flows." } } }, "auth_ref": [] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r815", "r816", "r817" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Financial Statement Error Correction [Flag]", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r815", "r816", "r817", "r819" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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_DocumentInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentInformationLineItems", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document 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": [] }, "dei_DocumentInformationTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentInformationTable", "lang": { "en-us": { "role": { "label": "Document Information [Table]", "documentation": "Container to support the formal attachment of each official or unofficial, public or private document as part of a submission package." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentTransitionReport", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r818" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentType", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Net earnings per common share \u2013 basic (in dollars per share)", "label": "Earnings per common share \u2013 basic (in dollars per share)", "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": [ "r249", "r275", "r276", "r277", "r278", "r279", "r283", "r285", "r290", "r291", "r292", "r294", "r556", "r557", "r607", "r623", "r767" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Net earnings per common share \u2013 diluted (in dollars per share)", "label": "Earnings per common share \u2013 diluted (in dollars per share)", "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": [ "r249", "r275", "r276", "r277", "r278", "r279", "r285", "r290", "r291", "r292", "r294", "r556", "r557", "r607", "r623", "r767" ] }, "us-gaap_EarningsPerSharePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerSharePolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r61", "r62" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Effects of exchange rates on cash", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r985" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "terseLabel": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r258", "r517", "r536" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationFdiiAmount", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_EffectiveIncomeTaxRateReconciliationFdiiAmount", "negatedTerseLabel": "Section 250 foreign derived intangible income deduction", "documentation": "Amount of reported income tax benefit from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to foreign-derived intangible income (FDII)." } } }, "auth_ref": [ "r978" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationGiltiAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationGiltiAmount", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "Global intangible low taxed income", "documentation": "Amount of reported income tax expense from difference to expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operations, attributable to global intangible low-taxed income (GILTI)." } } }, "auth_ref": [ "r978" ] }, "intt_ElectronicTestMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ElectronicTestMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Electronic Test [Member]", "documentation": "Related to Electronic Test segment." } } }, "auth_ref": [] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Accrued wages and benefits", "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": [ "r37" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "terseLabel": "Share-Based Payment Arrangement, Amount Capitalized", "documentation": "Amount of cost capitalized for award under share-based payment arrangement." } } }, "auth_ref": [ "r496" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "terseLabel": "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": [ "r499" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)", "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": [ "r499" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "lang": { "en-us": { "role": { "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": [] }, "intt_EmployeeStockPurchasePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "EmployeeStockPurchasePlanMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Employee Stock Purchase Plan [Member]", "documentation": "Represents the employee stock purchase plan." } } }, "auth_ref": [] }, "intt_EmployeeStockPurchasePlanTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "EmployeeStockPurchasePlanTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan" ], "lang": { "en-us": { "role": { "label": "Employee Stock Purchase Plan [Text Block]", "documentation": "The entire disclosure for employee stock purchase plan." } } }, "auth_ref": [] }, "intt_EmployeesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "EmployeesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Employees [Member]", "documentation": "Related to employees." } } }, "auth_ref": [] }, "intt_EndUserMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "EndUserMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [ "r813" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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_EntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-document-and-entity-information", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20231231/role/statement-note-10-debt-tables", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables", "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information", "http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20231231/role/statement-note-7-inventories", "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20231231/role/statement-note-7-inventories-tables", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details", "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20231231/role/statement-note-8-leases-tables", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Entity [Domain]", "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r813" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [ "r813" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [ "r825" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Public Float", "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityRegistrantName", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [ "r813" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityShellCompany", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [ "r813" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntitySmallBusiness", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r813" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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": [ "r813" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Voluntary Filers", "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Entity Well-known Seasoned Issuer", "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A." } } }, "auth_ref": [ "r826" ] }, "intt_EnvironmentalTechnologiesInGermanyMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "EnvironmentalTechnologiesInGermanyMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Environmental Technologies in Germany [Member]", "documentation": "Represents Environmental technologies in Germany" } } }, "auth_ref": [] }, "intt_EnvironmentalTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "EnvironmentalTechnologiesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Environmental Technologies [Member]", "documentation": "Related to Environmental Technologies segment." } } }, "auth_ref": [] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "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": [ "r19", "r215", "r244", "r245", "r246", "r270", "r271", "r272", "r274", "r280", "r282", "r296", "r340", "r341", "r420", "r501", "r502", "r503", "r529", "r530", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r572", "r573", "r574", "r575", "r576", "r577", "r590", "r643", "r644", "r645", "r656", "r718" ] }, "us-gaap_EquitySecuritiesByIndustryAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesByIndustryAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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": [ "r660", "r663", "r666", "r722", "r724", "r727", "r736", "r773", "r801" ] }, "us-gaap_EquitySecuritiesIndustryMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquitySecuritiesIndustryMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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": [ "r660", "r663", "r666", "r722", "r724", "r727", "r736", "r801" ] }, "intt_FacilityForAcculogicOperationInCaliforniaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "FacilityForAcculogicOperationInCaliforniaMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Facility for Acculogic Operation in California [Member]", "documentation": "Represents the facility for Acculogic operation in California." } } }, "auth_ref": [] }, "intt_FacilityForAcculogicOperationInCanadaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "FacilityForAcculogicOperationInCanadaMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Facility for Acculogic Operation in Canada [Member]", "documentation": "Represents facility for Acculogic operation in Canada." } } }, "auth_ref": [] }, "intt_FacilityInPenangMalaysiaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "FacilityInPenangMalaysiaMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "Facility in Penang, Malaysia [Member]", "documentation": "Represents the facility in Penang, Malaysia." } } }, "auth_ref": [] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "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": [ "r404", "r438", "r439", "r440", "r441", "r442", "r443", "r560", "r595", "r596", "r597", "r778", "r779", "r786", "r787", "r788" ] }, "us-gaap_FairValueByLiabilityClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByLiabilityClassAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Liability Class [Axis]", "documentation": "Information by class of liability." } } }, "auth_ref": [ "r110", "r167" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r559", "r560", "r561", "r562", "r564" ] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements" ], "lang": { "en-us": { "role": { "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": [ "r558" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "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": [ "r404", "r438", "r443", "r560", "r595", "r786", "r787", "r788" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "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": [ "r404", "r438", "r443", "r560", "r596", "r778", "r779", "r786", "r787", "r788" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "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": [ "r404", "r438", "r439", "r440", "r441", "r442", "r443", "r560", "r597", "r778", "r779", "r786", "r787", "r788" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables" ], "lang": { "en-us": { "role": { "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": [ "r108", "r168" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationByLiabilityClassDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Fair Value by Liability Class [Domain]", "documentation": "Represents classes of liabilities measured and disclosed at fair value." } } }, "auth_ref": [ "r21" ] }, "us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables" ], "lang": { "en-us": { "role": { "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": [ "r21", "r110" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Impact of foreign currency translation adjustments", "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInOtherComprehensiveIncome", "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": [ "r563" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityPurchases", "terseLabel": "Adjustment to contingent consideration liability in connection with the acquisition of Acculogic", "negatedTerseLabel": "Adjustment to contingent consideration liability in connection with the acquisition of Acculogic", "documentation": "Amount of purchases 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": [ "r109" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements", "negatedTerseLabel": "Payout of contingent consideration related to the acquisition of Z-Sciences", "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": [ "r109" ] }, "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue", "periodStartLabel": "Balance", "periodEndLabel": "Balance", "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": [ "r21" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r404", "r438", "r439", "r440", "r441", "r442", "r443", "r595", "r596", "r597", "r778", "r779", "r786", "r787", "r788" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r558", "r564" ] }, "us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual" ], "lang": { "en-us": { "role": { "label": "Class of Financing Receivable [Axis]", "documentation": "Information by class of financing receivable determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk." } } }, "auth_ref": [ "r69", "r70", "r190", "r191", "r192", "r193", "r333", "r335", "r336", "r337", "r338", "r345", "r346", "r347", "r770", "r771", "r772", "r774", "r775", "r834", "r835", "r836", "r837", "r838", "r839", "r840", "r841", "r842", "r843" ] }, "us-gaap_FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableRecordedInvestmentClassOfFinancingReceivableDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual" ], "lang": { "en-us": { "role": { "label": "Class of Financing Receivable [Domain]", "documentation": "Financing receivables determined on the basis of initial measurement attribute, risk characteristics and method of monitoring and assessing credit risk." } } }, "auth_ref": [ "r190", "r191", "r192", "r193", "r335", "r336", "r337", "r338", "r770", "r834", "r835", "r836", "r837", "r838", "r839", "r840", "r841", "r842", "r843" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Finite-lived, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r225", "r365" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "2023", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "terseLabel": "2027", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth 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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2026", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2025", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2024", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r362", "r364", "r365", "r367", "r603", "r604" ] }, "us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_FiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "terseLabel": "Impact of foreign currency translation adjustments", "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/2023", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Finite-lived, Gross Carrying Amount", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r152", "r604" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r74", "r77" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Net Carrying Amount, finite-lived", "periodStartLabel": "Balance", "periodEndLabel": "Balance", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r152", "r603" ] }, "us-gaap_FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Finite-Lived Intangible Assets, Purchase Accounting Adjustments", "label": "us-gaap_FiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "documentation": "Amount of increase (decrease) to assets, excluding financial assets and goodwill, lacking physical substance with a finite life for purchase accounting adjustments." } } }, "auth_ref": [] }, "intt_FlyingProbeAndIncircuitTestersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "FlyingProbeAndIncircuitTestersMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Flying Probe and In-circuit Testers [Member]", "documentation": "Related to flying probe and in-circuit testers." } } }, "auth_ref": [] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 22.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax", "terseLabel": "Foreign Currency Transaction Gain (Loss), before Tax, Total", "negatedLabel": "Foreign exchange (gain) loss", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r568", "r569", "r570", "r571", "r715" ] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r567" ] }, "intt_ForfeitureOfUnvestedSharesOfRestrictedStockInANoncashInvestingAndFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ForfeitureOfUnvestedSharesOfRestrictedStockInANoncashInvestingAndFinancingActivities", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Forfeiture of unvested shares of restricted stock", "documentation": "Represents the value of forfeiture of unvested shares of restricted stock in a non-cash investing and financing activities." } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_GainLossOnSaleOfPropertyPlantEquipment", "negatedLabel": "Loss on disposal of property and equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r12" ] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "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": [ "r138", "r700" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r135" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodStartLabel": "Balance", "periodEndLabel": "Balance", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r224", "r352", "r605", "r776", "r796", "r878", "r880" ] }, "us-gaap_GoodwillAndIntangibleAssetImpairment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetImpairment", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_GoodwillAndIntangibleAssetImpairment", "terseLabel": "Goodwill and Intangible Asset Impairment, Total", "documentation": "Total loss recognized during the period from the impairment of goodwill plus the loss recognized in the period resulting from the impairment of the carrying amount of intangible assets, other than goodwill." } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r151" ] }, "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_GoodwillForeignCurrencyTranslationGainLoss", "terseLabel": "Impact of foreign currency translation adjustments", "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) an asset representing future economic benefits from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r359" ] }, "intt_GoodwillIntangibleAndLongLivedAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "GoodwillIntangibleAndLongLivedAssetsPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details" ], "lang": { "en-us": { "role": { "label": "Goodwill, Purchase Accounting Adjustments", "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r1", "r879" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_GrossProfit", "terseLabel": "Gross profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r136", "r256", "r301", "r315", "r321", "r324", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r566", "r769", "r888" ] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "auth_ref": [ "r815", "r816", "r817" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details" ], "lang": { "en-us": { "role": { "label": "Domestic", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations." } } }, "auth_ref": [ "r257", "r535" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 0.0 }, "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Earnings before income tax expense", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Earnings before income tax expense", "terseLabel": "Earnings before income tax expense", "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": [ "r0", "r133", "r176", "r301", "r315", "r321", "r324", "r608", "r620", "r769" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details" ], "lang": { "en-us": { "role": { "label": "Foreign", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile." } } }, "auth_ref": [ "r257", "r535" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Axis]", "documentation": "Information by location in the income statement." } } }, "auth_ref": [ "r368", "r370", "r701" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Income Statement Location [Domain]", "documentation": "Location in the income statement." } } }, "auth_ref": [ "r370", "r701" ] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r258", "r511", "r518", "r519", "r526", "r531", "r537", "r538", "r539", "r655" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 }, "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details" ], "lang": { "en-us": { "role": { "label": "Income tax expense", "totalLabel": "Income tax expense", "terseLabel": "Income tax expense", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r179", "r187", "r281", "r282", "r309", "r516", "r532", "r624" ] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r243", "r512", "r513", "r519", "r520", "r525", "r527", "r651" ] }, "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance", "terseLabel": "Changes in valuation allowance", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to increase (decrease) in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r978" ] }, "intt_IncomeTaxReconciliationDeemedDividendFromForeignSubsidiaries": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IncomeTaxReconciliationDeemedDividendFromForeignSubsidiaries", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "intt_IncomeTaxReconciliationDeemedDividendFromForeignSubsidiaries", "terseLabel": "Dividend from foreign subsidiaries", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to a deemed dividend from foreign subsidiaries." } } }, "auth_ref": [] }, "intt_IncomeTaxReconciliationEffectsOfNetOperatingLossAndTaxCreditCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IncomeTaxReconciliationEffectsOfNetOperatingLossAndTaxCreditCarryforwards", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "intt_IncomeTaxReconciliationEffectsOfNetOperatingLossAndTaxCreditCarryforwards", "negatedTerseLabel": "NOL carryforwards utilized", "documentation": "Income tax reconciliation effects of net operating loss and tax credit carryforwards." } } }, "auth_ref": [] }, "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential", "terseLabel": "Foreign income tax rate differences", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit)." } } }, "auth_ref": [ "r978" ] }, "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "Expected income tax expense at U.S. statutory rate", "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r517" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationNondeductibleExpense", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncomeTaxReconciliationNondeductibleExpense", "terseLabel": "Nondeductible expenses", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to nondeductible expenses." } } }, "auth_ref": [ "r978" ] }, "us-gaap_IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "Stock compensation", "documentation": "Amount of reported income tax expense (benefit) in excess of (less than) expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for award under share-based payment arrangement. Includes, but is not limited to, expense determined to be nondeductible upon grant or after for award under share-based payment arrangement." } } }, "auth_ref": [ "r978" ] }, "us-gaap_IncomeTaxReconciliationOtherReconcilingItems": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationOtherReconcilingItems", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncomeTaxReconciliationOtherReconcilingItems", "terseLabel": "Other", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax exempt income, equity in earnings (loss) of an unconsolidated subsidiary, minority noncontrolling interest income (loss), tax holiday, disposition of a business, disposition of an asset, repatriation of foreign earnings, repatriation of foreign earnings jobs creation act of 2004, increase (decrease) in enacted tax rate, prior year income taxes, increase (decrease) in deferred tax asset valuation allowance, and other adjustments." } } }, "auth_ref": [ "r978" ] }, "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "Domestic tax benefit, net of Federal benefit", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)." } } }, "auth_ref": [ "r978" ] }, "us-gaap_IncomeTaxReconciliationTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxReconciliationTaxCredits", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "parentTag": "us-gaap_IncomeTaxExpenseBenefit", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncomeTaxReconciliationTaxCredits", "negatedTerseLabel": "Current year tax credits (foreign and research)", "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits." } } }, "auth_ref": [ "r978" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Domestic and foreign income taxes", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income." } } }, "auth_ref": [ "r53", "r56" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInAccountsPayable", "terseLabel": "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": [ "r11" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Trade 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": [ "r11" ] }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable", "terseLabel": "Domestic and foreign 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": [ "r11" ] }, "intt_IncreaseDecreaseInAccruedProfessionalFees": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IncreaseDecreaseInAccruedProfessionalFees", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "intt_IncreaseDecreaseInAccruedProfessionalFees", "terseLabel": "Accrued professional fees", "documentation": "The amount of increase (decrease) in accrued professional fees." } } }, "auth_ref": [] }, "intt_IncreaseDecreaseInAccruedSalesCommission": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IncreaseDecreaseInAccruedSalesCommission", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 23.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Accrued sales commission", "documentation": "The increase (decrease) during the reporting period in accrued sales commission." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 21.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Customer deposits and deferred revenue", "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": [ "r600", "r853" ] }, "intt_IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "intt_IncreaseDecreaseInContractWithCustomerLiabilityNoncurrent", "terseLabel": "Deferred revenue, net of current portion", "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_IncreaseDecreaseInEmployeeRelatedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities", "terseLabel": "Accrued wages and benefits", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r11" ] }, "us-gaap_IncreaseDecreaseInInventories": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInInventories", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInInventories", "negatedLabel": "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": [ "r11" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Changes in assets and liabilities:" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Operating lease liabilities", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r831", "r853" ] }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 19.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities", "terseLabel": "Other current liabilities", "documentation": "Amount of increase (decrease) in current liabilities classified as other." } } }, "auth_ref": [ "r853" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets", "negatedLabel": "Other assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r853" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities", "terseLabel": "Other 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/2023", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses and other current assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r11" ] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "terseLabel": "Unvested shares of restricted stock and employee stock options (in shares)", "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": [ "r286", "r287", "r288", "r292", "r464" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r363", "r366" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Net Carrying Amount, indefinite-lived", "label": "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill", "terseLabel": "Indefinite-lived, Gross Carrying Amount", "periodStartLabel": "Balance", "periodEndLabel": "Balance", "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit." } } }, "auth_ref": [ "r154" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IndefiniteLivedIntangibleAssetsForeignCurrencyTranslationGainLoss", "terseLabel": "Impact of foreign currency translation adjustments", "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": [] }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r75", "r154" ] }, "us-gaap_IndefiniteLivedIntangibleAssetsPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IndefiniteLivedIntangibleAssetsPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Indefinite-Lived Intangible Assets, Purchase Accounting Adjustments", "documentation": "Amount of increase (decrease) of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit, from purchase accounting adjustments." } } }, "auth_ref": [] }, "intt_IndependentDirectorsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IndependentDirectorsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Independent Directors [Member]", "documentation": "Represents the independent directors." } } }, "auth_ref": [] }, "intt_IndustrialMarketMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "IndustrialMarketMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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/2023", "localname": "InsiderTradingArrLineItems", "auth_ref": [ "r820" ] }, "us-gaap_IntangibleAssetsGrossExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsGrossExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_IntangibleAssetsGrossExcludingGoodwill", "terseLabel": "Intangible Assets, Gross Carrying Amount", "documentation": "Amount before accumulated amortization of intangible assets, excluding goodwill." } } }, "auth_ref": [ "r224" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Intangible assets, net", "terseLabel": "Net Carrying Amount", "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": [ "r72", "r76" ] }, "us-gaap_InterestExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestExpense", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_InterestExpense", "negatedLabel": "Interest expense", "negatedTerseLabel": "Interest expense", "documentation": "Amount of the cost of borrowed funds accounted for as interest expense." } } }, "auth_ref": [ "r114", "r178", "r247", "r305", "r579", "r702", "r809", "r1007" ] }, "us-gaap_InterestPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPayableCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Accrued interest", "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r37" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestRateSwapMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details" ], "lang": { "en-us": { "role": { "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": [ "r752", "r806", "r807" ] }, "us-gaap_InventoryDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-7-inventories" ], "lang": { "en-us": { "role": { "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": [ "r348" ] }, "us-gaap_InventoryFinishedGoodsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryFinishedGoodsNetOfReserves", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details" ], "lang": { "en-us": { "role": { "label": "Finished goods", "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": [ "r150", "r759" ] }, "us-gaap_InventoryNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryNet", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details" ], "lang": { "en-us": { "role": { "label": "Inventories", "totalLabel": "Total inventories", "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": [ "r233", "r757", "r796" ] }, "us-gaap_InventoryPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r181", "r220", "r232", "r348", "r349", "r351", "r601", "r765" ] }, "us-gaap_InventoryRawMaterialsNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryRawMaterialsNetOfReserves", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details" ], "lang": { "en-us": { "role": { "label": "Raw materials", "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": [ "r150", "r761" ] }, "us-gaap_InventoryWorkInProcessNetOfReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWorkInProcessNetOfReserves", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details" ], "lang": { "en-us": { "role": { "label": "Work in process", "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": [ "r150", "r760" ] }, "us-gaap_InventoryWriteDown": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryWriteDown", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 20.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "verboseLabel": "Provision for excess and obsolete inventory", "label": "us-gaap_InventoryWriteDown", "terseLabel": "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": [ "r350" ] }, "us-gaap_LeaseContractualTermAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseContractualTermAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Lease Contractual Term [Axis]", "documentation": "Information by contractual term of lease arrangement." } } }, "auth_ref": [ "r830" ] }, "us-gaap_LeaseContractualTermDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseContractualTermDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Lease Contractual Term [Domain]", "documentation": "Contractual term of lease arrangement." } } }, "auth_ref": [ "r830" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-tables" ], "lang": { "en-us": { "role": { "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": [ "r987" ] }, "us-gaap_LeaseExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseExpirationDate1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Lease Expiration Date", "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format." } } }, "auth_ref": [] }, "intt_LeaseFacilityInSingaporeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "LeaseFacilityInSingaporeMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Lease Facility in Singapore [Member]", "documentation": "Represents the Lease Facility in Singapore." } } }, "auth_ref": [] }, "us-gaap_LeaseholdImprovementsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsGross", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "documentation": "Amount before accumulated depreciation of additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r155" ] }, "dei_LegalEntityAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LegalEntityAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-document-and-entity-information", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20231231/role/statement-note-10-debt-tables", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables", "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information", "http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20231231/role/statement-note-7-inventories", "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20231231/role/statement-note-7-inventories-tables", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details", "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20231231/role/statement-note-8-leases-tables", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Legal Entity [Axis]", "documentation": "The set of legal entities associated with a report." } } }, "auth_ref": [] }, "us-gaap_LegalMattersAndContingenciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LegalMattersAndContingenciesTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-" ], "lang": { "en-us": { "role": { "label": "Legal Matters and Contingencies [Text Block]", "documentation": "The entire disclosure for legal proceedings, legal contingencies, litigation, regulatory and environmental matters and other contingencies." } } }, "auth_ref": [ "r156" ] }, "us-gaap_LesseeLeasesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeLeasesPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Lessee, Leases [Policy Text Block]", "documentation": "Disclosure of accounting policy for leasing arrangement entered into by lessee." } } }, "auth_ref": [ "r584" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-tables" ], "lang": { "en-us": { "role": { "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": [ "r988" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "terseLabel": "Thereafter", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth 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": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "terseLabel": "2024", "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": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth 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": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "terseLabel": "2027", "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": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "terseLabel": "2026", "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": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "terseLabel": "2025", "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": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less imputed interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r589" ] }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseTermOfContract", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LesseeOperatingLeaseTermOfContract", "terseLabel": "Lessee, Operating Lease, Term of Contract (Month)", "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": [ "r986" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases" ], "lang": { "en-us": { "role": { "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": [ "r581" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "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/2023", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Amount Outstanding", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r36", "r256", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r546", "r547", "r548", "r566", "r676", "r768", "r811", "r888", "r990", "r991" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r128", "r175", "r616", "r796", "r857", "r877", "r984" ] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities", "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": [ "r38", "r219", "r256", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r546", "r547", "r548", "r566", "r796", "r888", "r990", "r991" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "auth_ref": [] }, "intt_LifeSciencesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "LifeSciencesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Life Sciences [Member]", "documentation": "Related to Life Sciences." } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCredit", "terseLabel": "Long-Term Line of Credit, Total", "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": [ "r30", "r174", "r1000" ] }, "us-gaap_LineOfCreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r34", "r856" ] }, "us-gaap_LineOfCreditFacilityExpirationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityExpirationDate1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Line of Credit, Expiration Date", "documentation": "Date the credit facility terminates, in YYYY-MM-DD format." } } }, "auth_ref": [ "r34" ] }, "us-gaap_LineOfCreditFacilityInitiationDate1": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityInitiationDate1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Line of Credit, Issue Date", "documentation": "Date the credit facility first became available, in YYYY-MM-DD format." } } }, "auth_ref": [ "r34" ] }, "us-gaap_LineOfCreditFacilityLenderDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityLenderDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r34", "r856" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity", "terseLabel": "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": [ "r34" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "LocalPhoneNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables" ], "lang": { "en-us": { "role": { "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": [ "r28" ] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Long-Term Debt", "label": "us-gaap_LongTermDebt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r30", "r174", "r403", "r416", "r778", "r779", "r1000" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Current portion of Term Note", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r228" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details" ], "lang": { "en-us": { "role": { "verboseLabel": "2024", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "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": [ "r14", "r262", "r408" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details" ], "lang": { "en-us": { "role": { "verboseLabel": "2026", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "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": [ "r14", "r262", "r408" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details" ], "lang": { "en-us": { "role": { "verboseLabel": "2025", "label": "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "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": [ "r14", "r262", "r408" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Term Note, net of current portion", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r229" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r41" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r41", "r81" ] }, "intt_MTBankMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "MTBankMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "M&T Bank [Member]", "documentation": "Information related to M&T Bank." } } }, "auth_ref": [] }, "us-gaap_MachineryAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MachineryAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentGross", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Machinery and equipment", "documentation": "Amount before accumulated depreciation of 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": [ "r155" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "documentation": "Information by name or description of a single external customer or a group of external customers." } } }, "auth_ref": [ "r330", "r785", "r891", "r1002", "r1003" ] }, "intt_MansfieldMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "MansfieldMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Mansfield [Member]", "documentation": "Represents information about Mansfield." } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "documentation": "Upper limit of the provided range." } } }, "auth_ref": [ "r373", "r374", "r375", "r376", "r456", "r599", "r642", "r668", "r669", "r721", "r723", "r725", "r726", "r735", "r749", "r750", "r770", "r782", "r791", "r798", "r890", "r992", "r993", "r994", "r995", "r996", "r997" ] }, "intt_MembersOfTheSeniorManagementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "MembersOfTheSeniorManagementMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Members of The Senior Management [Member]", "documentation": "Represents members of the senior management." } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "documentation": "Lower limit of the provided range." } } }, "auth_ref": [ "r373", "r374", "r375", "r376", "r456", "r599", "r642", "r668", "r669", "r721", "r723", "r725", "r726", "r735", "r749", "r750", "r770", "r782", "r791", "r798", "r890", "r992", "r993", "r994", "r995", "r996", "r997" ] }, "intt_MtLaurelMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "MtLaurelMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details" ], "lang": { "en-us": { "role": { "label": "Mt Laurel [Member]", "documentation": "Represents information about Mt laurel." } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r821" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "documentation": "Single external customer or group of external customers." } } }, "auth_ref": [ "r330", "r785", "r891", "r1002", "r1003" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NatureOfOperations", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations" ], "lang": { "en-us": { "role": { "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": [ "r183", "r188" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash provided by (used in) financing activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r252" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM FINANCING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash used in investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r252" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM INVESTING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by (used in) operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r143", "r144", "r145" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "CASH FLOWS FROM OPERATING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 0.0 }, "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 }, "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Net earnings (loss)", "label": "Net earnings", "terseLabel": "Net earnings", "totalLabel": "Net earnings", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r134", "r145", "r177", "r217", "r238", "r241", "r246", "r256", "r273", "r275", "r276", "r277", "r278", "r281", "r282", "r289", "r301", "r315", "r321", "r324", "r339", "r377", "r378", "r380", "r381", "r382", "r384", "r386", "r388", "r389", "r557", "r566", "r621", "r698", "r716", "r717", "r769", "r809", "r888" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_NonRule10b51ArrAdoptedFlag", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r821" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_NonRule10b51ArrTrmntdFlag", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r821" ] }, "us-gaap_NonUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonUsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details" ], "lang": { "en-us": { "role": { "label": "Non-US [Member]", "documentation": "Countries excluding the United States of America (US)." } } }, "auth_ref": [ "r1010", "r1011", "r1012", "r1013" ] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "SUPPLEMENTAL DISCLOSURE OF NON-CASH INVESTING AND FINANCING ACTIVITIES:" } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonoperatingIncomeExpense", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Other income", "label": "us-gaap_NonoperatingIncomeExpense", "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)." } } }, "auth_ref": [ "r139" ] }, "us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NonvestedRestrictedStockSharesActivityTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables" ], "lang": { "en-us": { "role": { "label": "Nonvested Restricted Stock Shares Activity [Table Text Block]", "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock shares." } } }, "auth_ref": [ "r29" ] }, "intt_NoteToFinancialStatementDetailsTextual": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "NoteToFinancialStatementDetailsTextual", "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "auth_ref": [] }, "intt_NotesToFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "NotesToFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Notes To Financial Statements [Abstract]" } } }, "auth_ref": [] }, "intt_NumberOfMajorCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.intest.com/20231231", "localname": "NumberOfMajorCustomers", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_NumberOfMajorCustomers", "terseLabel": "Number of Major Customers", "documentation": "Represents the number of major customers accounting for 10% or more of the specified concentration risk benchmark, which includes, but not limited to, sales revenue, accounts receivable, etc." } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_NumberOfOperatingSegments", "terseLabel": "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": [ "r870" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_NumberOfReportableSegments", "terseLabel": "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": [ "r870" ] }, "us-gaap_NumberOfReportingUnits": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NumberOfReportingUnits", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_NumberOfReportingUnits", "terseLabel": "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_October2021AgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "October2021AgreementMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "October 2021 Agreement [Member]", "documentation": "Information related to the October 2021 Agreement." } } }, "auth_ref": [] }, "intt_OemIntegratorsAndDistributorMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "OemIntegratorsAndDistributorMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "OEM, Integrators and Distributor [Member]", "documentation": "Represents OEM, Integrators and Distributor" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "us-gaap_OperatingExpenses", "totalLabel": "Total 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": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "Operating expenses:" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "us-gaap_OperatingIncomeLoss", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r301", "r315", "r321", "r324", "r769" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "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": [ "r585", "r795" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details", "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Total", "terseLabel": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r583" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Current portion of operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r583" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Operating lease liabilities, net of current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r583" ] }, "intt_OperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.intest.com/20231231", "localname": "OperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "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/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Right-of-use assets, net", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r582" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense", "terseLabel": "Operating Lease, Right-of-Use Asset, Amortization Expense", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r854" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "label": "Weighted average discount rate", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r588", "r795" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "label": "Weighted average remaining lease term (in years) (Year)", "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": [ "r587", "r795" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details" ], "lang": { "en-us": { "role": { "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": [ "r314", "r315", "r316", "r317", "r318", "r324" ] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r37" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Other assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r226" ] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings" ], "lang": { "en-us": { "role": { "label": "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "terseLabel": "Foreign currency translation adjustments", "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": [ "r10", "r17", "r166" ] }, "us-gaap_OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossCashFlowHedgeGainLossAfterReclassificationAndTaxParent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings" ], "lang": { "en-us": { "role": { "label": "Unrealized gain (loss) on interest rate swap agreement", "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": [ "r237" ] }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Other comprehensive loss", "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity." } } }, "auth_ref": [ "r10", "r17", "r166", "r239", "r242" ] }, "us-gaap_OtherCurrentLiabilitiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentLiabilitiesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual" ], "lang": { "en-us": { "role": { "label": "Other Current Liabilities [Member]", "documentation": "Primary financial statement caption encompassing other current liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherCurrentLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherCurrentLiabilitiesTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables" ], "lang": { "en-us": { "role": { "label": "Other Current Liabilities [Table Text Block]", "documentation": "Tabular disclosure of other current liabilities." } } }, "auth_ref": [] }, "us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details": { "parentTag": "us-gaap_InventoryNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details" ], "lang": { "en-us": { "role": { "label": "Inventory consigned to others", "documentation": "Gross amount of inventory owned by the entity but in the hands of a customer, typically a reseller." } } }, "auth_ref": [ "r848" ] }, "us-gaap_OtherLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 8.0 }, "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Other current liabilities", "totalLabel": "Total other current liabilities", "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r37", "r796" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Other liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r42" ] }, "intt_OtherMultiMarketsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "OtherMultiMarketsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Other Multi Markets [Member]", "documentation": "Information related to other multi markets." } } }, "auth_ref": [] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "Other income", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r140" ] }, "us-gaap_PatentedTechnologyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PatentedTechnologyMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r96" ] }, "us-gaap_PatentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PatentsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r164" ] }, "us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentForContingentConsiderationLiabilityInvestingActivities", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentForContingentConsiderationLiabilityInvestingActivities", "negatedLabel": "Payment of contingent consideration related to Z-Sciences acquisition", "documentation": "Amount of cash outflow, made soon after acquisition date of business combination, to settle contingent consideration liability." } } }, "auth_ref": [ "r8" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Settlement of employee tax liabilities in connection with treasury stock transaction", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r251" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentsToAcquireBusinessesGross", "terseLabel": "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": [ "r50", "r541" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Capital expenditures", "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedTerseLabel": "Purchase of property 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": [ "r142" ] }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireShortTermInvestments", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_PaymentsToAcquireShortTermInvestments", "negatedLabel": "Purchase of short term investments", "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r141" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans" ], "lang": { "en-us": { "role": { "label": "Retirement Benefits [Text Block]", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r435", "r436", "r437", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r788" ] }, "intt_PerformanceBasedRestrictedStockVestingOnJanuary12025Member": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "PerformanceBasedRestrictedStockVestingOnJanuary12025Member", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Performance-Based Restricted Stock Vesting on January 1, 2025 [Member]", "documentation": "Represents Restricted Stock Vesting on January 1, 2025." } } }, "auth_ref": [] }, "intt_PerformancebasedRestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "PerformancebasedRestrictedStockMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Performance-Based Restricted Stock [Member]", "documentation": "Represents the performance-based restricted stock." } } }, "auth_ref": [] }, "intt_PerformancebasedRestrictedStockVestingInThreeYearsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "PerformancebasedRestrictedStockVestingInThreeYearsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Performance-Based Restricted Stock Vesting in Three Years [Member]", "documentation": "Represents the performance-based restricted stock vesting in three years." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r974", "r975", "r976", "r977" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r974", "r975", "r976", "r977" ] }, "us-gaap_PolicyTextBlockAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PolicyTextBlockAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "us-gaap_PolicyTextBlockAbstract", "terseLabel": "Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock par value (in dollars 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": [ "r122", "r418" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, shares authorized (in shares)", "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": [ "r122", "r678" ] }, "us-gaap_PreferredStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesIssued", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, shares issued (in shares)", "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt." } } }, "auth_ref": [ "r122", "r418" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Preferred stock, shares outstanding (in shares)", "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": [ "r122", "r678", "r696", "r1008", "r1009" ] }, "us-gaap_PreferredStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockValue", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Preferred stock, $0.01 par value; 5,000,000 shares authorized; no shares issued or outstanding", "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": [ "r122", "r612", "r796" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Prepaid expenses and other current assets", "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": [ "r849" ] }, "srt_PresidentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "PresidentMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "President [Member]", "documentation": "Person with designation of president." } } }, "auth_ref": [ "r872" ] }, "intt_PresidentOfEnvironmentalTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "PresidentOfEnvironmentalTechnologiesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "President of Environmental Technologies [Member]", "documentation": "Represents the president of Environmental Technologies." } } }, "auth_ref": [] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r846" ] }, "intt_ProceedsFromEmployeeStockPurchasePlanShares": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ProceedsFromEmployeeStockPurchasePlanShares", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "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": [] }, "intt_ProceedsFromFinalWorkingAdjustmentOnPreviousAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ProceedsFromFinalWorkingAdjustmentOnPreviousAcquisition", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Refund of final working capital adjustment related to Acculogic", "documentation": "Amount of cash inflow from final working adjustment on previous acquisition." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Net proceeds from public offering of common stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r9" ] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ProceedsFromIssuanceOfLongTermDebt", "terseLabel": "Proceeds from Issuance of Long-term Debt, Total", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r51", "r652" ] }, "intt_ProceedsFromSaleOfMachineryAndEquipmentNetOfGain": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ProceedsFromSaleOfMachineryAndEquipmentNetOfGain", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Proceeds from sale of demonstration equipment, net of gain", "documentation": "Proceeds from sale of machinery and equipment net of gain." } } }, "auth_ref": [] }, "us-gaap_ProceedsFromSaleOfShortTermInvestments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfShortTermInvestments", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Sales of short term investments", "documentation": "The cash inflow from sales of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term." } } }, "auth_ref": [ "r49" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Proceeds from stock options exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r9", "r24" ] }, "intt_ProcessTechnologiesInEuropeMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ProcessTechnologiesInEuropeMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual" ], "lang": { "en-us": { "role": { "label": "Process Technologies in Europe [Member]", "documentation": "Represents the process technologies segment in Europe" } } }, "auth_ref": [] }, "intt_ProcessTechnologiesInTheNetherlandsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ProcessTechnologiesInTheNetherlandsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Process Technologies in the Netherlands [Member]", "documentation": "Represents the process technologies segment in the Netherlands." } } }, "auth_ref": [] }, "intt_ProcessTechnologiesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ProcessTechnologiesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Process Technologies [Member]", "documentation": "Related to process technologies." } } }, "auth_ref": [] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]", "documentation": "Information by product and service, or group of similar products and similar services." } } }, "auth_ref": [ "r326", "r602", "r636", "r637", "r638", "r639", "r640", "r641", "r753", "r783", "r797", "r832", "r884", "r885", "r891", "r1002" ] }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProductWarrantyAccrualClassifiedCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details": { "parentTag": "us-gaap_OtherLiabilitiesCurrent", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Accrued warranty", "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": [ "r37", "r886", "r887" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]", "documentation": "Product or service, or a group of similar products or similar services." } } }, "auth_ref": [ "r326", "r602", "r636", "r637", "r638", "r639", "r640", "r641", "r753", "r783", "r797", "r832", "r884", "r885", "r891", "r1002" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Property and equipment:" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_PropertyPlantAndEquipmentGross", "totalLabel": "Gross property and equipment", "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": [ "r155", "r222", "r619" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_PropertyPlantAndEquipmentNet", "totalLabel": "Net property and equipment", "terseLabel": "Property and Equipment", "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": [ "r13", "r609", "r619", "r796" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r13", "r184", "r185", "r617" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_PropertyPlantAndEquipmentUsefulLife", "terseLabel": "Property, Plant and Equipment, Useful Life (Year)", "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/2023", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ProvisionForDoubtfulAccounts", "terseLabel": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r250", "r343" ] }, "us-gaap_QuarterlyFinancialInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "QuarterlyFinancialInformationTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-" ], "lang": { "en-us": { "role": { "label": "Quarterly Financial Information [Text Block]", "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information." } } }, "auth_ref": [ "r147", "r295" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "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": [ "r373", "r374", "r375", "r376", "r436", "r456", "r491", "r492", "r493", "r598", "r599", "r642", "r668", "r669", "r721", "r723", "r725", "r726", "r735", "r749", "r750", "r770", "r782", "r791", "r798", "r801", "r883", "r890", "r993", "r994", "r995", "r996", "r997" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r373", "r374", "r375", "r376", "r436", "r456", "r491", "r492", "r493", "r598", "r599", "r642", "r668", "r669", "r721", "r723", "r725", "r726", "r735", "r749", "r750", "r770", "r782", "r791", "r798", "r801", "r883", "r890", "r993", "r994", "r995", "r996", "r997" ] }, "us-gaap_ReceivablesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r873", "r874", "r875", "r876" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_RepaymentsOfLongTermDebt", "negatedLabel": "Repayments of Term Note", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r52", "r653" ] }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RepurchaseAgreementCounterpartyNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r259", "r260", "r394", "r419", "r591", "r763", "r764" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "Engineering and product development expense", "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use." } } }, "auth_ref": [ "r117", "r510", "r998" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "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": [] }, "us-gaap_ResearchAndDevelopmentExpensePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ResearchAndDevelopmentExpensePolicy", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Research and Development Expense, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for costs it has incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process." } } }, "auth_ref": [ "r509" ] }, "us-gaap_RestrictedCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCash", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 1.0 }, "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details" ], "lang": { "en-us": { "role": { "label": "Restricted cash", "terseLabel": "Restricted Cash, Total", "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits." } } }, "auth_ref": [ "r847", "r855", "r999", "r1001" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "Restricted Cash and Cash Equivalents [Axis]", "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage." } } }, "auth_ref": [ "r32" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r221" ] }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Restricted certificates of deposit", "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r54", "r180", "r253" ] }, "us-gaap_RestrictedStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "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": [ "r61" ] }, "intt_RestrictedStockVestingInThreeYearsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "RestrictedStockVestingInThreeYearsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Vesting in Three Years [Member]", "documentation": "Information related to the restricted stock awards vesting in three years." } } }, "auth_ref": [] }, "intt_RestrictedStockVestingOnAugust242023Member": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "RestrictedStockVestingOnAugust242023Member", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Restricted Stock Vesting on August 24, 2023 [Member]", "documentation": "Information related to the restricted stock awards vesting on August 24, 2023." } } }, "auth_ref": [] }, "intt_RestructuringAndOtherChargesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "RestructuringAndOtherChargesPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Restructuring And Other Charges [Policy Text Block]", "documentation": "Restructuring and other charges policy text block." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r125", "r158", "r615", "r646", "r648", "r654", "r679", "r796" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r215", "r270", "r271", "r272", "r274", "r280", "r282", "r340", "r341", "r501", "r502", "r503", "r529", "r530", "r549", "r551", "r552", "r554", "r555", "r643", "r645", "r656", "r1008" ] }, "us-gaap_RetirementPlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanNameAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Name [Axis]", "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans." } } }, "auth_ref": [ "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r791", "r827", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921", "r922", "r923", "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r938", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951" ] }, "us-gaap_RetirementPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Name [Domain]", "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans." } } }, "auth_ref": [ "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r791", "r827", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913", "r914", "r915", "r916", "r917", "r918", "r919", "r920", "r921", "r922", "r923", "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r938", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951" ] }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Net revenues", "label": "Revenue", "terseLabel": "Revenue", "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": [ "r302", "r303", "r314", "r319", "r320", "r326", "r328", "r330", "r431", "r432", "r602" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers" ], "lang": { "en-us": { "role": { "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": [ "r189", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r434" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables" ], "lang": { "en-us": { "role": { "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": [ "r27" ] }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRecognitionPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Revenue [Policy Text Block]", "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources." } } }, "auth_ref": [ "r699", "r751", "r766" ] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "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": [] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_Rule10b51ArrAdoptedFlag", "terseLabel": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r821" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_Rule10b51ArrTrmntdFlag", "terseLabel": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r821" ] }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNameOfTransactionDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Domain]", "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement." } } }, "auth_ref": [] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "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": [ "r330", "r828" ] }, "intt_ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ScheduleOfCashCashEquivalentsAndRestrictedCashTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Cash, Cash Equivalents and Restricted Cash [Table Text Block]", "documentation": "Tabular disclosure of the components of cash, cash equivalents and restricted cash." } } }, "auth_ref": [] }, "intt_ScheduleOfChangesInGoodwillTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ScheduleOfChangesInGoodwillTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Changes in Goodwill [Table Text Block]", "documentation": "Tabular disclosure of the changes in goodwill." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r162" ] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets." } } }, "auth_ref": [ "r161" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r160" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables" ], "lang": { "en-us": { "role": { "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": [ "r86" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "lang": { "en-us": { "role": { "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": [ "r74", "r77" ] }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions." } } }, "auth_ref": [ "r858" ] }, "us-gaap_ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIndefiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "lang": { "en-us": { "role": { "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": [ "r25", "r154" ] }, "intt_ScheduleOfIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ScheduleOfIntangibleAssetsTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Intangible Assets [Table Text Block]", "documentation": "The tabular disclosure of the intangible assets." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfInventoryCurrentTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-7-inventories-tables" ], "lang": { "en-us": { "role": { "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": [ "r31", "r129", "r130", "r131" ] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-tables" ], "lang": { "en-us": { "role": { "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": [ "r14" ] }, "intt_ScheduleOfOutstandingLettersOfCreditTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ScheduleOfOutstandingLettersOfCreditTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-tables" ], "lang": { "en-us": { "role": { "label": "Schedule Of Outstanding Letters Of Credit [Table Text Block]", "documentation": "Schedule of outstanding letters of credit table text block." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables" ], "lang": { "en-us": { "role": { "label": "Quarterly Financial Information [Table Text Block]", "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data." } } }, "auth_ref": [ "r182" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables" ], "lang": { "en-us": { "role": { "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": [ "r66", "r67", "r68", "r71" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables" ], "lang": { "en-us": { "role": { "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": [ "r22", "r23", "r85" ] }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables" ], "lang": { "en-us": { "role": { "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": [ "r159" ] }, "srt_ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScheduleOfValuationAndQualifyingAccountsDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Schedule of Valuation and Qualifying Accounts Disclosure [Text Block]", "documentation": "The entire disclosure for valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r194", "r269" ] }, "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables" ], "lang": { "en-us": { "role": { "label": "Schedule of Weighted Average Number of Shares [Table Text Block]", "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit)." } } }, "auth_ref": [ "r60" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables" ], "lang": { "en-us": { "role": { "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": [ "r77" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "Security12bTitle", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r812" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "SecurityExchangeName", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r814" ] }, "intt_SecurityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SecurityMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Security [Member]", "documentation": "Related to security." } } }, "auth_ref": [] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r298", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r324", "r330", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r371", "r372", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r776", "r832", "r1002" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "documentation": "Geographical area." } } }, "auth_ref": [ "r195", "r196", "r197", "r198", "r199", "r200", "r201", "r202", "r203", "r328", "r329", "r660", "r663", "r665", "r722", "r724", "r727", "r736", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r754", "r784", "r801", "r891", "r1002" ] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information" ], "lang": { "en-us": { "role": { "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": [ "r297", "r298", "r299", "r300", "r301", "r313", "r318", "r322", "r323", "r324", "r325", "r326", "r327", "r330" ] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details" ], "lang": { "en-us": { "role": { "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r135" ] }, "us-gaap_SellingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingExpense", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations" ], "lang": { "en-us": { "role": { "label": "Selling expense", "documentation": "Expenses recognized in the period that are directly related to the selling and distribution of products or services." } } }, "auth_ref": [ "r138" ] }, "intt_SemiconductorMarketMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SemiconductorMarketMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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/20231231", "localname": "SemiconductorProductionTestProductsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Semiconductor Production Test Products [Member]", "documentation": "Represents information about semiconductor production test products sold by the reporting entity." } } }, "auth_ref": [] }, "intt_ServiceAndOtherProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ServiceAndOtherProductsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensation", "terseLabel": "Amortization of deferred compensation related to stock-based awards", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r11" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)", "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": [ "r792" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "presentation": [ "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "terseLabel": "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": [ "r84" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedLabel": "Forfeited, number of shares (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r483" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "Forfeited, weighted average exercise price (in dollars per share)", "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": [ "r483" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Granted, number of shares (in shares)", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period (in shares)", "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": [ "r481" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "Granted, weighted average exercise price (in dollars per share)", "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": [ "r481" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodStartLabel": "Unvested shares outstanding (in shares)", "periodEndLabel": "Unvested shares outstanding (in shares)", "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": [ "r478", "r479" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodStartLabel": "Unvested shares outstanding, weighted average exercise price (in dollars per share)", "periodEndLabel": "Unvested shares outstanding, weighted average exercise price (in dollars per share)", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r478", "r479" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedLabel": "Vested, number of shares (in shares)", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r482" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r485" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "Vested, weighted average exercise price (in dollars per share)", "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": [ "r482" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "lang": { "en-us": { "role": { "label": "Dividend yield", "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": [ "r492" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "lang": { "en-us": { "role": { "label": "Expected common stock market price volatility factor", "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": [ "r491" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "lang": { "en-us": { "role": { "label": "Risk-free interest rate", "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares." } } }, "auth_ref": [ "r493" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized (in shares)", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r794" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant (in shares)", "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": [ "r84" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals" ], "lang": { "en-us": { "role": { "label": "Options exercisable (in shares)", "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan." } } }, "auth_ref": [ "r472" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "label": "Canceled, weighted average exercise price (in dollars per share)", "documentation": "Weighted average price of options that were either forfeited or expired." } } }, "auth_ref": [ "r958" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "negatedLabel": "Canceled, number of shares (in shares)", "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": [ "r476" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Granted, number of shares (in shares)", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r474" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value (in dollars per share)", "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology." } } }, "auth_ref": [ "r484" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "periodStartLabel": "Options outstanding, number of shares (in shares)", "periodEndLabel": "Options outstanding, number of shares (in shares)", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r470", "r471" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "periodStartLabel": "Options outstanding, weighted average exercise price (in dollars per share)", "periodEndLabel": "Options outstanding, weighted average exercise price (in dollars per share)", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r470", "r471" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number (in shares)", "documentation": "Number of fully vested and expected to vest options outstanding that can 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": [ "r486" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period (in shares)", "documentation": "Number of shares issued under share-based payment arrangement." } } }, "auth_ref": [ "r84" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details" ], "lang": { "en-us": { "role": { "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r490", "r491", "r492", "r493", "r494" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "label": "Exercised, weighted average exercise price (in dollars per share)", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r475" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Granted, weighted average exercise price (in dollars per share)", "label": "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r474" ] }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheOneMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "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": [] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r462", "r469", "r488", "r489", "r490", "r491", "r494", "r504", "r505", "r506", "r507" ] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharePrice", "presentation": [ "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_SharePrice", "terseLabel": "Share Price (in dollars per share)", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAdditionalAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAdditionalAwardVestingRightsPercentage", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAdditionalAwardVestingRightsPercentage", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Additional Award Vesting Rights, Percentage", "documentation": "Additional percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "terseLabel": "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": [ "r952" ] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageLowerRange", "terseLabel": "Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Lower Range", "documentation": "Lower range limit of percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentageUpperRange", "terseLabel": "Share-based Compensation Arrangement By Share-based Payment Award, Award Vesting Rights Percentage Upper Range", "documentation": "Upper range limit of percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardCatchupAdjustment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardCatchupAdjustment", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardCatchupAdjustment", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Catch-Up Adjustment", "documentation": "The catch-up adjustment resulting from an adjustment in the expected vesting percentage for a share-based compensation arrangement." } } }, "auth_ref": [] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 18.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardDiscountAmount", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Discount Amount", "negatedLabel": "Discount on shares sold under Employee Stock Purchase Plan", "documentation": "Discount amount from fair value on purchase date that participants pay for shares." } } }, "auth_ref": [] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantedFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantedFairValue", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantedFairValue", "terseLabel": "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_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)", "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r793" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details" ], "lang": { "en-us": { "role": { "label": "Weighted average expected life of stock options (years) (Year)", "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": [ "r490" ] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpectedToForfeitOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpectedToForfeitOutstandingNumber", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExpectedToForfeitOutstandingNumber", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expected to Forfeit, Outstanding, Number (in shares)", "documentation": "Number of expected to forfeit options outstanding." } } }, "auth_ref": [] }, "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardProbableFinalVestingPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardProbableFinalVestingPercentage", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "intt_SharebasedCompensationArrangementBySharebasedPaymentAwardProbableFinalVestingPercentage", "terseLabel": "Share-Based Compensation Arrangement by Share-Based Payment Award, Probable Final Vesting Percentage", "documentation": "Probable final vesting percentage of share-based payment award." } } }, "auth_ref": [] }, "us-gaap_SharesIssuedPricePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesIssuedPricePerShare", "presentation": [ "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_SharesIssuedPricePerShare", "terseLabel": "Shares Issued, Price Per Share (in dollars per share)", "documentation": "Per share or per unit amount of equity securities issued." } } }, "auth_ref": [] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharesOutstanding", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "us-gaap_SharesOutstanding", "periodStartLabel": "Balance (in shares)", "periodEndLabel": "Balance (in shares)", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShortTermLeaseCost", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details" ], "lang": { "en-us": { "role": { "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": [ "r586", "r795" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r146", "r254" ] }, "intt_SoutheastAsiaOperationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SoutheastAsiaOperationMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details" ], "lang": { "en-us": { "role": { "label": "Southeast Asia Operation [Member]", "documentation": "Represents the inTest southeast Asia operation." } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r216", "r298", "r301", "r302", "r303", "r304", "r305", "r306", "r307", "r308", "r309", "r310", "r311", "r312", "r314", "r315", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r324", "r330", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r360", "r361", "r369", "r371", "r372", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r776", "r832", "r1002" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r19", "r44", "r215", "r244", "r245", "r246", "r270", "r271", "r272", "r274", "r280", "r282", "r296", "r340", "r341", "r420", "r501", "r502", "r503", "r529", "r530", "r549", "r550", "r551", "r552", "r553", "r554", "r555", "r572", "r573", "r574", "r575", "r576", "r577", "r590", "r643", "r644", "r645", "r656", "r718" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "documentation": "Information by geographical components." } } }, "auth_ref": [ "r195", "r204", "r328", "r329", "r660", "r663", "r665", "r722", "r724", "r727", "r736", "r738", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r754", "r784", "r801", "r891", "r1002" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20231231/role/statement-note-10-debt-tables", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables", "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information", "http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20231231/role/statement-note-7-inventories", "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20231231/role/statement-note-7-inventories-tables", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details", "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20231231/role/statement-note-8-leases-tables", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "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": [ "r270", "r271", "r272", "r296", "r602", "r650", "r657", "r670", "r671", "r672", "r673", "r674", "r675", "r678", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r691", "r692", "r693", "r694", "r695", "r697", "r699", "r700", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r718", "r802" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "Statement of Comprehensive Income [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-comprehensive-earnings", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual", "http://www.intest.com/20231231/role/statement-note-10-debt-future-maturities-of-longterm-debt-details", "http://www.intest.com/20231231/role/statement-note-10-debt-outstanding-letters-of-credit-details", "http://www.intest.com/20231231/role/statement-note-10-debt-tables", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-earnings-before-income-taxes-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-income-tax-expense-benefit-details", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables", "http://www.intest.com/20231231/role/statement-note-12-legal-proceedings-", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans", "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information", "http://www.intest.com/20231231/role/statement-note-17-segment-information-details-textual", "http://www.intest.com/20231231/role/statement-note-17-segment-information-identifiable-assets-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-segment-information-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-details-textual", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-details-textual", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-details-textual", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual", "http://www.intest.com/20231231/role/statement-note-7-inventories", "http://www.intest.com/20231231/role/statement-note-7-inventories-inventories-details", "http://www.intest.com/20231231/role/statement-note-7-inventories-tables", "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-costs-details", "http://www.intest.com/20231231/role/statement-note-8-leases-lease-modifications-details", "http://www.intest.com/20231231/role/statement-note-8-leases-maturities-of-lease-liabilities-details", "http://www.intest.com/20231231/role/statement-note-8-leases-tables", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-other-current-liabilities-details", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r270", "r271", "r272", "r296", "r602", "r650", "r657", "r670", "r671", "r672", "r673", "r674", "r675", "r678", "r681", "r682", "r683", "r684", "r685", "r686", "r687", "r688", "r689", "r691", "r692", "r693", "r694", "r695", "r697", "r699", "r700", "r703", "r704", "r705", "r706", "r707", "r708", "r709", "r710", "r711", "r712", "r713", "r714", "r718", "r802" ] }, "us-gaap_StockIssued1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssued1", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Stock Issued", "documentation": "The fair value of stock issued in noncash financing activities." } } }, "auth_ref": [ "r57", "r58", "r59" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Shares issued under Employee Stock Purchase Plan (in shares)", "terseLabel": "Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares)", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "Shares issued pursuant to At-the-Market Offering (in shares)", "terseLabel": "Stock Issued During Period, Shares, New Issues (in shares)", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r19", "r122", "r123", "r158", "r652", "r718", "r737" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardForfeited", "negatedLabel": "Stock Issued During Period, Shares, Restricted Stock Award, Forfeited (in shares)", "documentation": "Number of shares related to Restricted Stock Award forfeited during the period." } } }, "auth_ref": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Issuance of unvested shares of restricted stock (in shares)", "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards." } } }, "auth_ref": [ "r19", "r158" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Issuance of additional shares of restricted sock related to performance-based awards which vested in the period (in shares)", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-stock-option-activity-details" ], "lang": { "en-us": { "role": { "label": "Stock options exercised (in shares)", "negatedLabel": "Exercised, number of shares (in shares)", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r19", "r122", "r123", "r158", "r475" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-15-employee-stock-purchase-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Shares issued under Employee Stock Purchase Plan", "terseLabel": "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": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "Shares issued pursuant to At-the-Market Offering", "terseLabel": "Stock Issued During Period, Value, New Issues", "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering." } } }, "auth_ref": [ "r19", "r122", "r123", "r158", "r656", "r718", "r737", "r810" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardForfeitures", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Restricted Stock Award, Forfeitures", "documentation": "Value of stock related to Restricted Stock Awards forfeited during the period." } } }, "auth_ref": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Issuance of unvested shares of restricted stock", "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period." } } }, "auth_ref": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Stock options exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r19", "r44", "r158" ] }, "intt_StockPlan2014Member": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "StockPlan2014Member", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Stock Plan 2014 [Member]", "documentation": "Represents the 2014 Stock Plan." } } }, "auth_ref": [] }, "intt_StockRepurchasePlanTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "StockRepurchasePlanTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Plan [Text Block]", "documentation": "The entire disclosure for stock repurchase plan." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockRepurchaseProgramAuthorizedAmount1", "terseLabel": "Stock Repurchase Program, Authorized Amount", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://www.intest.com/20231231/role/statement-note-14-stock-repurchase-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares", "terseLabel": "Stock Repurchased and Retired During Period, Shares (in shares)", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r19", "r122", "r123", "r158" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets", "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "us-gaap_StockholdersEquity", "totalLabel": "Total stockholders' equity", "periodStartLabel": "Balance", "periodEndLabel": "Balance", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r123", "r126", "r127", "r149", "r680", "r696", "r719", "r720", "r796", "r811", "r857", "r877", "r984", "r1008" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Stockholders' equity:" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "Subsequent Event [Member]", "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r578", "r593" ] }, "us-gaap_SubsequentEventTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Axis]", "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r578", "r593" ] }, "us-gaap_SubsequentEventTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventTypeDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "Subsequent Event Type [Domain]", "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "auth_ref": [ "r578", "r593" ] }, "us-gaap_SubsequentEventsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsPolicyPolicyTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-significant-accounting-policies-policies" ], "lang": { "en-us": { "role": { "label": "Subsequent Events, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for reporting subsequent events." } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events" ], "lang": { "en-us": { "role": { "label": "Subsequent Events [Text Block]", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r592", "r594" ] }, "us-gaap_SubsidiarySaleOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations", "http://www.intest.com/20231231/role/statement-note-1-nature-of-operations-details-textual" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Axis]", "documentation": "Information by type of sale of the entity's stock." } } }, "auth_ref": [] }, "intt_SupplementalCashFlowInfomationLesseeTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "SupplementalCashFlowInfomationLesseeTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases-tables" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Infomation, Lessee [Table Text Block]", "documentation": "Tabular disclosure of lessee's supplemental cash flow information." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows" ], "lang": { "en-us": { "role": { "label": "Cash payments for:" } } }, "auth_ref": [] }, "us-gaap_TableTextBlock": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-note-10-debt-tables", "http://www.intest.com/20231231/role/statement-note-11-income-taxes-tables", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-tables", "http://www.intest.com/20231231/role/statement-note-17-segment-information-tables", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-tables", "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-tables", "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-tables", "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-tables", "http://www.intest.com/20231231/role/statement-note-7-inventories-tables", "http://www.intest.com/20231231/role/statement-note-8-leases-tables", "http://www.intest.com/20231231/role/statement-note-9-other-current-liabilities-tables", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" ], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "auth_ref": [] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxesPayableCurrent", "crdr": "credit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "Domestic and foreign income taxes payable", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r35" ] }, "intt_TermNoteMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "TermNoteMember", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-cash-flows", "http://www.intest.com/20231231/role/statement-note-10-debt", "http://www.intest.com/20231231/role/statement-note-10-debt-details-textual" ], "lang": { "en-us": { "role": { "label": "Term Note [Member]", "documentation": "Information related to Term Note." } } }, "auth_ref": [] }, "intt_TexasInstrumentsIncorporatedMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "TexasInstrumentsIncorporatedMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-6-major-customers", "http://www.intest.com/20231231/role/statement-note-6-major-customers-details-textual" ], "lang": { "en-us": { "role": { "label": "Texas Instruments Incorporated [Member]", "documentation": "Texas instruments incorporated member." } } }, "auth_ref": [] }, "intt_The2023StockIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "The2023StockIncentivePlanMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "The 2023 Stock Incentive Plan [Member]", "documentation": "Represents the 2023 Stock Incentive Plan." } } }, "auth_ref": [] }, "intt_The401KPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "The401KPlanMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "401(k) Plan [Member]", "documentation": "A 401(k) plan offered by the reporting entity to eligible employees." } } }, "auth_ref": [] }, "intt_TheAmbrellPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "TheAmbrellPlanMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans", "http://www.intest.com/20231231/role/statement-note-16-employee-benefit-plans-details-textual" ], "lang": { "en-us": { "role": { "label": "The Ambrell Plan [Member]", "documentation": "Related to the Ambrell defined contribution retirement plan." } } }, "auth_ref": [] }, "intt_ThermalProcessMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ThermalProcessMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Thermal Process [Member]", "documentation": "Represents thermal process." } } }, "auth_ref": [] }, "intt_ThermalTestingProductsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ThermalTestingProductsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "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/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]", "documentation": "Information by title of individual or nature of relationship to individual or group of individuals." } } }, "auth_ref": [ "r872", "r989" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Domain]", "documentation": "Title of individual, or nature of relationship to individual or group of individuals." } } }, "auth_ref": [] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r94" ] }, "us-gaap_TrademarksMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TrademarksMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-4-goodwill-and-intangible-assets-intangible-assets-details" ], "lang": { "en-us": { "role": { "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": [ "r94" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "TradingSymbol", "presentation": [ "http://www.intest.com/20231231/role/statement-document-and-entity-information" ], "lang": { "en-us": { "role": { "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/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_TrdArrAdoptionDate", "terseLabel": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r823" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_TrdArrIndName", "terseLabel": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r822" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_TrdArrIndTitle", "terseLabel": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r822" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_TrdArrSecuritiesAggAvailAmt", "terseLabel": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r824" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "ecd_TrdArrTerminationDate", "terseLabel": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r823" ] }, "us-gaap_TreasuryStockCommonMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonMember", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-stockholders-equity" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Common [Member]", "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r82" ] }, "us-gaap_TreasuryStockCommonShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonShares", "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets-parentheticals" ], "lang": { "en-us": { "role": { "label": "Treasury stock, shares (in shares)", "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r82" ] }, "us-gaap_TreasuryStockCommonValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockCommonValue", "crdr": "debit", "calculation": { "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0, "order": 0.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-balance-sheets" ], "lang": { "en-us": { "role": { "label": "us-gaap_TreasuryStockCommonValue", "negatedLabel": "Treasury stock, at cost; 75,758 and 34,308 shares, respectively", "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury." } } }, "auth_ref": [ "r45", "r82", "r83" ] }, "us-gaap_TypeOfArrangementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TypeOfArrangementAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-8-leases", "http://www.intest.com/20231231/role/statement-note-8-leases-details-textual" ], "lang": { "en-us": { "role": { "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]", "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations." } } }, "auth_ref": [ "r544" ] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.intest.com/20231231/role/statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "http://www.intest.com/20231231/role/statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details" ], "lang": { "en-us": { "role": { "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-note-11-income-taxes-details-textual" ], "lang": { "en-us": { "role": { "label": "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount", "terseLabel": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset." } } }, "auth_ref": [ "r521" ] }, "us-gaap_ValuationAllowancesAndReservesAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesAdjustments", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Adjustment", "documentation": "Amount of increase (decrease) in valuation and qualifying accounts and reserves from adjustment." } } }, "auth_ref": [ "r865" ] }, "us-gaap_ValuationAllowancesAndReservesBalance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesBalance", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ValuationAllowancesAndReservesBalance", "periodStartLabel": "Balance at Beginning of Period", "periodEndLabel": "Balance at End of Period", "documentation": "Amount of valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r263", "r268" ] }, "us-gaap_ValuationAllowancesAndReservesChargedToCostAndExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesChargedToCostAndExpense", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "Expense (Recovery)", "terseLabel": "SEC Schedule, 12-09, Valuation Allowances and Reserves, Additions, Charge to Cost and Expense", "documentation": "Amount of increase in valuation and qualifying accounts and reserves from charge to cost and expense." } } }, "auth_ref": [ "r266" ] }, "us-gaap_ValuationAllowancesAndReservesDeductions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesDeductions", "crdr": "debit", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "us-gaap_ValuationAllowancesAndReservesDeductions", "negatedLabel": "Deductions", "documentation": "Amount of decrease in valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r267" ] }, "us-gaap_ValuationAllowancesAndReservesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]", "documentation": "Valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r263", "r264", "r265", "r267", "r268" ] }, "us-gaap_ValuationAllowancesAndReservesReservesOfBusinessesAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesReservesOfBusinessesAcquired", "crdr": "credit", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "Reserve amounts acquired", "documentation": "Amount of increase in valuation and qualifying accounts and reserves from business combination." } } }, "auth_ref": [ "r862" ] }, "intt_ValuationAllowancesAndReservesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ValuationAllowancesAndReservesTableTextBlock", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-tables" ], "lang": { "en-us": { "role": { "label": "Valuation Allowances and Reserves [Table Text Block]", "documentation": "Tabular disclosure of a schedule of allowance and reserve accounts where the valuation and qualifying accounts are either netted against the cost of an asset (in order to value it at its carrying value) or that reflect a liability established to represent expected future costs." } } }, "auth_ref": [] }, "us-gaap_ValuationAllowancesAndReservesTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowancesAndReservesTypeAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-details-textual", "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]", "documentation": "Information by valuation and qualifying accounts and reserves." } } }, "auth_ref": [ "r263", "r264", "r265", "r267", "r268" ] }, "us-gaap_VestingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingAxis", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Vesting [Axis]", "documentation": "Information by vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r974", "r975", "r976", "r977" ] }, "intt_VestingBasedOnPerformanceMetricsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "VestingBasedOnPerformanceMetricsMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Vesting Based On Performance Metrics [Member]", "documentation": "Represents vesting based on performance metrics." } } }, "auth_ref": [] }, "us-gaap_VestingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingDomain", "presentation": [ "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan", "http://www.intest.com/20231231/role/statement-note-13-stockbased-compensation-plan-details-textual" ], "lang": { "en-us": { "role": { "label": "Vesting [Domain]", "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971", "r972", "r973", "r974", "r975", "r976", "r977" ] }, "intt_VideoImagingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "VideoImagingMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details" ], "lang": { "en-us": { "role": { "label": "Video Imaging [Member]", "documentation": "Related to video imaging." } } }, "auth_ref": [] }, "intt_WarehouseAndOfficeSpaceMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "WarehouseAndOfficeSpaceMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-19-subsequent-events", "http://www.intest.com/20231231/role/statement-note-19-subsequent-events-details-textual" ], "lang": { "en-us": { "role": { "label": "Warehouse and Office Space [Member]", "documentation": "Relating to Warehouse and Office space." } } }, "auth_ref": [] }, "us-gaap_WarrantyReservesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WarrantyReservesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details" ], "lang": { "en-us": { "role": { "label": "SEC Schedule, 12-09, Reserve, Warranty [Member]", "documentation": "Reserve for expected cost from warranty provided on specific product or service." } } }, "auth_ref": [ "r859", "r860", "r861", "r863", "r864" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted average common shares outstanding \u2013 diluted (in shares)", "label": "Weighted average common shares and common share equivalents outstanding \u2013 diluted (in shares)", "totalLabel": "Weighted average common shares and common share equivalents outstanding\u2013diluted (in shares)", "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": [ "r284", "r292" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.intest.com/20231231/role/statement-consolidated-statements-of-operations", "http://www.intest.com/20231231/role/statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "http://www.intest.com/20231231/role/statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details" ], "lang": { "en-us": { "role": { "verboseLabel": "Weighted average common shares outstanding \u2013 basic (in shares)", "label": "Weighted average common shares outstanding \u2013 basic (in shares)", "terseLabel": "Weighted average common shares outstanding\u2013basic (in shares)", "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": [ "r283", "r292" ] }, "intt_ZSciencesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.intest.com/20231231", "localname": "ZSciencesMember", "presentation": [ "http://www.intest.com/20231231/role/statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details" ], "lang": { "en-us": { "role": { "label": "Z-Sciences [Member]", "documentation": "Information related to Z-Sciences." } } }, "auth_ref": [] }, "intt_statement-statement-note-10-debt-future-maturities-of-longterm-debt-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-10-debt-future-maturities-of-longterm-debt-details", "lang": { "en-us": { "role": { "label": "Note 10 - Debt - Future Maturities of Long-term Debt (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-10-debt-outstanding-letters-of-credit-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-10-debt-outstanding-letters-of-credit-details", "lang": { "en-us": { "role": { "label": "Note 10 - Debt - Outstanding Letters of Credit (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-10-debt-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-10-debt-tables", "lang": { "en-us": { "role": { "label": "Note 10 - Debt" } } }, "auth_ref": [] }, "intt_statement-statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-11-income-taxes-deferred-tax-assets-and-liabilities-details", "lang": { "en-us": { "role": { "label": "Note 11 - Income Taxes - Deferred Tax Assets and Liabilities (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-11-income-taxes-earnings-before-income-taxes-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-11-income-taxes-earnings-before-income-taxes-details", "lang": { "en-us": { "role": { "label": "Note 11 - Income Taxes - Earnings Before Income Taxes (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-11-income-taxes-effective-tax-rate-analysis-and-reconciliation-of-expected-statutory-rate-details", "lang": { "en-us": { "role": { "label": "Note 11 - Income Taxes - Effective Tax Rate Analysis and Reconciliation of Expected Statutory Rate (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-11-income-taxes-income-tax-expense-benefit-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-11-income-taxes-income-tax-expense-benefit-details", "lang": { "en-us": { "role": { "label": "Note 11 - Income Taxes - Income Tax Expense (Benefit) (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-11-income-taxes-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-11-income-taxes-tables", "lang": { "en-us": { "role": { "label": "Note 11 - Income Taxes" } } }, "auth_ref": [] }, "intt_statement-statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-13-stockbased-compensation-plan-allocation-of-sharebased-compensation-expense-details", "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation Plan - Allocation of Share-based Compensation Expense (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-13-stockbased-compensation-plan-stock-option-activity-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-13-stockbased-compensation-plan-stock-option-activity-details", "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-13-stockbased-compensation-plan-stock-option-activity-details-parentheticals", "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation Plan - Stock Option Activity (Details) (Parentheticals)" } } }, "auth_ref": [] }, "intt_statement-statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-13-stockbased-compensation-plan-stock-options-valuation-assumptions-details", "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation Plan - Stock Options Valuation Assumptions (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-13-stockbased-compensation-plan-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-13-stockbased-compensation-plan-tables", "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation Plan" } } }, "auth_ref": [] }, "intt_statement-statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-13-stockbased-compensation-plan-unvested-stock-activity-details", "lang": { "en-us": { "role": { "label": "Note 13 - Stock-based Compensation Plan - Unvested Stock Activity (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-17-segment-information-identifiable-assets-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-17-segment-information-identifiable-assets-details", "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information - Identifiable Assets (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-17-segment-information-longlived-assets-by-geographical-area-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-17-segment-information-longlived-assets-by-geographical-area-details", "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information - Long-lived Assets by Geographical Area (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-17-segment-information-net-revenue-from-unaffiliated-customers-details", "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information - Net Revenue From Unaffiliated Customers (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-17-segment-information-segment-information-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-17-segment-information-segment-information-details", "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information - Segment Information (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-17-segment-information-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-17-segment-information-tables", "lang": { "en-us": { "role": { "label": "Note 17 - Segment Information" } } }, "auth_ref": [] }, "intt_statement-statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-18-quarterly-consolidated-financial-data-unaudited-quarterly-consolidated-financial-data-details", "lang": { "en-us": { "role": { "label": "Note 18 - Quarterly Consolidated Financial Data (Unaudited) - Quarterly Consolidated Financial Data (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-18-quarterly-consolidated-financial-data-unaudited-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-18-quarterly-consolidated-financial-data-unaudited-tables", "lang": { "en-us": { "role": { "label": "Note 18 - Quarterly Consolidated Financial Data (Unaudited)" } } }, "auth_ref": [] }, "intt_statement-statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-schedule-of-cash-cash-equivalents-and-restricted-cash-details", "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies - Schedule of Cash, Cash Equivalents and Restricted Cash (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-2-summary-of-significant-accounting-policies-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-tables", "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies" } } }, "auth_ref": [] }, "intt_statement-statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-2-summary-of-significant-accounting-policies-weighted-average-common-shares-details", "lang": { "en-us": { "role": { "label": "Note 2 - Summary of Significant Accounting Policies - Weighted Average Common Shares (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-3-fair-value-measurements-changes-in-the-fair-value-of-level-3-contingent-consideration-liabilities-details", "lang": { "en-us": { "role": { "label": "Note 3 - Fair Value Measurements - Changes in the Fair Value of Level 3 Contingent Consideration Liabilities (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-3-fair-value-measurements-liabilities-measured-at-fair-value-on-recurring-basis-details", "lang": { "en-us": { "role": { "label": "Note 3 - Fair Value Measurements - Liabilities Measured at Fair Value on Recurring Basis (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-3-fair-value-measurements-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-3-fair-value-measurements-tables", "lang": { "en-us": { "role": { "label": "Note 3 - Fair Value Measurements" } } }, "auth_ref": [] }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-4-goodwill-and-intangible-assets-changes-in-goodwill-details", "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Changes in Goodwill (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-indefinitelived-intangible-assets-details", "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Indefinite-lived Intangible Assets (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-4-goodwill-and-intangible-assets-changes-in-the-amount-of-the-carrying-value-of-intangible-assets-details", "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Changes in the Amount of the Carrying Value of Intangible Assets (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-4-goodwill-and-intangible-assets-future-amortization-expense-details", "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Future Amortization Expense (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-intangible-assets-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-4-goodwill-and-intangible-assets-intangible-assets-details", "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets - Intangible Assets (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-4-goodwill-and-intangible-assets-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-4-goodwill-and-intangible-assets-tables", "lang": { "en-us": { "role": { "label": "Note 4 - Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "intt_statement-statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-5-revenue-from-contracts-with-customers-disaggregation-of-revenues-details", "lang": { "en-us": { "role": { "label": "Note 5 - Revenue From Contracts With Customers - Disaggregation of Revenues (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-5-revenue-from-contracts-with-customers-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-5-revenue-from-contracts-with-customers-tables", "lang": { "en-us": { "role": { "label": "Note 5 - Revenue From Contracts With Customers" } } }, "auth_ref": [] }, "intt_statement-statement-note-7-inventories-inventories-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-7-inventories-inventories-details", "lang": { "en-us": { "role": { "label": "Note 7 - Inventories - Inventories (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-7-inventories-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-7-inventories-tables", "lang": { "en-us": { "role": { "label": "Note 7 - Inventories" } } }, "auth_ref": [] }, "intt_statement-statement-note-8-leases-lease-costs-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-8-leases-lease-costs-details", "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Lease Costs (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-8-leases-lease-modifications-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-8-leases-lease-modifications-details", "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Lease Modifications (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-8-leases-maturities-of-lease-liabilities-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-8-leases-maturities-of-lease-liabilities-details", "lang": { "en-us": { "role": { "label": "Note 8 - Leases - Maturities of Lease Liabilities (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-8-leases-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-8-leases-tables", "lang": { "en-us": { "role": { "label": "Note 8 - Leases" } } }, "auth_ref": [] }, "intt_statement-statement-note-9-other-current-liabilities-other-current-liabilities-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-9-other-current-liabilities-other-current-liabilities-details", "lang": { "en-us": { "role": { "label": "Note 9 - Other Current Liabilities - Other Current Liabilities (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-note-9-other-current-liabilities-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-note-9-other-current-liabilities-tables", "lang": { "en-us": { "role": { "label": "Note 9 - Other Current Liabilities" } } }, "auth_ref": [] }, "intt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-schedule-ii-valuation-and-qualifying-accounts-tables", "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts" } } }, "auth_ref": [] }, "intt_statement-statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-schedule-ii-valuation-and-qualifying-accounts-valuation-and-qualifying-accounts-details", "lang": { "en-us": { "role": { "label": "Schedule II - Valuation and Qualifying Accounts - Valuation and Qualifying Accounts (Details)" } } }, "auth_ref": [] }, "intt_statement-statement-significant-accounting-policies-policies": { "xbrltype": "stringItemType", "nsuri": "http://www.intest.com/20231231", "localname": "statement-statement-significant-accounting-policies-policies", "lang": { "en-us": { "role": { "label": "Significant Accounting Policies" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "b", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r6": { "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/2147481877/830-230-45-1" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r9": { "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" }, "r10": { "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" }, "r11": { "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" }, "r12": { "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" }, "r13": { "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" }, "r14": { "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" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r17": { "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" }, "r18": { "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" }, "r19": { "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" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "820", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r22": { "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" }, "r23": { "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" }, "r24": { "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" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b),(d)", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-3" }, "r26": { "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" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "a", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "b", "SubTopic": "10", "Topic": "280", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41" }, "r29": { "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" }, "r30": { "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" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19,20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "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" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r46": { "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" }, "r47": { "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" }, "r48": { "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" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-12" }, "r50": { "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" }, "r51": { "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" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "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" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1" }, "r61": { "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" }, "r62": { "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" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-20" }, "r66": { "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" }, "r67": { "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" }, "r68": { "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" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "310", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-7" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "310", "SubTopic": "10", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-7A" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r79": { "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" }, "r80": { "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" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "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" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r86": { "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" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "05", "Paragraph": "4", "Subparagraph": "(a)-(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-3" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-14" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-20" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "38", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4A" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4C" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4D", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-7" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-20" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-21" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "985", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1" }, "r118": { "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" }, "r119": { "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" }, "r120": { "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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r121": { "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)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "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" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r137": { "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" }, "r138": { "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" }, "r139": { "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.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r140": { "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" }, "r141": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "270", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//270/tableOfContent" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r149": { "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" }, "r150": { "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" }, "r151": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r152": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r153": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r154": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r155": { "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" }, "r156": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r157": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r158": { "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" }, "r159": { "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" }, "r160": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r161": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r162": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r163": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r164": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r165": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r166": { "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" }, "r167": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r168": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "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" }, "r169": { "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/2147479853/942-210-S99-1" }, "r170": { "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/2147479853/942-210-S99-1" }, "r171": { "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/2147479853/942-210-S99-1" }, "r172": { "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(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r173": { "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(15)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r174": { "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/2147479853/942-210-S99-1" }, "r175": { "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/2147479853/942-210-S99-1" }, "r176": { "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/2147483589/942-220-S99-1" }, "r177": { "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/2147483589/942-220-S99-1" }, "r178": { "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.9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r179": { "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" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "SubTopic": "210", "Topic": "954", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480632/954-210-45-5" }, "r181": { "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" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1" }, "r183": { "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" }, "r184": { "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/2147480321/958-360-50-1" }, "r185": { "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/2147480321/958-360-50-6" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r187": { "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" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1404", "Paragraph": "(a)", "Publisher": "SEC" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1404", "Paragraph": "(b)", "Publisher": "SEC" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(4)", "Publisher": "SEC" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(c)", "Publisher": "SEC" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "09", "Publisher": "SEC" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Footnote": "2", "Publisher": "SEC" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column B", "Publisher": "SEC" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column C", "Publisher": "SEC" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column D", "Publisher": "SEC" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Publisher": "SEC" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column F", "Publisher": "SEC" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column G", "Publisher": "SEC" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column H", "Publisher": "SEC" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column I", "Publisher": "SEC" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Footnote": "4", "Publisher": "SEC" }, "r205": { "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" }, "r206": { "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" }, "r207": { "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" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "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" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "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" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(210.5-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r258": { "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(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "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" }, "r294": { "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" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1B" }, "r296": { "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" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-3" }, "r334": { "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" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-42" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "44", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-44" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-14" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-16" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-5" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "330", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//330/tableOfContent" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "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" }, "r421": { "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" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "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" }, "r430": { "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" }, "r431": { "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" }, "r432": { "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" }, "r433": { "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" }, "r434": { "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" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "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" }, "r447": { "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" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r456": { "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" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r463": { "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" }, "r464": { "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" }, "r465": { "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" }, "r466": { "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" }, "r467": { "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" }, "r468": { "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" }, "r469": { "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" }, "r470": { "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" }, "r471": { "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" }, "r472": { "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" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "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" }, "r487": { "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" }, "r488": { "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" }, "r489": { "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" }, "r490": { "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" }, "r491": { "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" }, "r492": { "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" }, "r493": { "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" }, "r494": { "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" }, "r495": { "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" }, "r496": { "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" }, "r497": { "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" }, "r498": { "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" }, "r499": { "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" }, "r500": { "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" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r504": { "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" }, "r505": { "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" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483044/730-10-05-1" }, "r510": { "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" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14" }, "r519": { "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" }, "r520": { "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" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r525": { "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" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21" }, "r527": { "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" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r532": { "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" }, "r533": { "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.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r534": { "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.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r535": { "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.Fact.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r536": { "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.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2" }, "r540": { "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" }, "r541": { "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" }, "r542": { "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" }, "r543": { "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" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "808", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479402/808-10-50-1" }, "r545": { "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" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "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" }, "r552": { "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" }, "r553": { "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" }, "r554": { "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" }, "r555": { "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" }, "r556": { "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" }, "r557": { "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" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r559": { "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" }, "r560": { "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" }, "r561": { "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" }, "r562": { "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" }, "r563": { "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" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r565": { "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" }, "r566": { "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" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//830/tableOfContent" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481839/830-10-45-17" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482014/830-20-35-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1" }, "r572": { "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" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-2" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483013/835-20-50-1" }, "r580": { "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" }, "r581": { "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" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r590": { "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" }, "r591": { "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" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//855/tableOfContent" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r600": { "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/2147482312/912-310-45-11" }, "r601": { "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/2147482105/912-330-50-1" }, "r602": { "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" }, "r603": { "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" }, "r604": { "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/2147483147/928-340-50-1" }, "r605": { "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/2147479853/942-210-S99-1" }, "r606": { "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/2147483589/942-220-S99-1" }, "r607": { "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/2147483589/942-220-S99-1" }, "r608": { "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/2147479557/942-235-S99-1" }, "r609": { "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/2147480842/942-360-50-1" }, "r610": { "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/2147479440/944-210-S99-1" }, "r611": { "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/2147479440/944-210-S99-1" }, "r612": { "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/2147479440/944-210-S99-1" }, "r613": { "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/2147479440/944-210-S99-1" }, "r614": { "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/2147479440/944-210-S99-1" }, "r615": { "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/2147479440/944-210-S99-1" }, "r616": { "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/2147479440/944-210-S99-1" }, "r617": { "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/2147479440/944-210-S99-1" }, "r618": { "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/2147479440/944-210-S99-1" }, "r619": { "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/2147479440/944-210-S99-1" }, "r620": { "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/2147483586/944-220-S99-1" }, "r621": { "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/2147483586/944-220-S99-1" }, "r622": { "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/2147483586/944-220-S99-1" }, "r623": { "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/2147483586/944-220-S99-1" }, "r624": { "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/2147483586/944-220-S99-1" }, "r625": { "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/2147480149/944-235-S99-1" }, "r626": { "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/2147480149/944-235-S99-1" }, "r627": { "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/2147480149/944-235-S99-1" }, "r628": { "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/2147480149/944-235-S99-1" }, "r629": { "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/2147480149/944-235-S99-1" }, "r630": { "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/2147480149/944-235-S99-1" }, "r631": { "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/2147480149/944-235-S99-1" }, "r632": { "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/2147480149/944-235-S99-1" }, "r633": { "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/2147480149/944-235-S99-1" }, "r634": { "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/2147480149/944-235-S99-1" }, "r635": { "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/2147480149/944-235-S99-1" }, "r636": { "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/2147480149/944-235-S99-2" }, "r637": { "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/2147480149/944-235-S99-2" }, "r638": { "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/2147480149/944-235-S99-2" }, "r639": { "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/2147480149/944-235-S99-2" }, "r640": { "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/2147480149/944-235-S99-2" }, "r641": { "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/2147480149/944-235-S99-2" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "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" }, "r646": { "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" }, "r647": { "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" }, "r648": { "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" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r650": { "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" }, "r651": { "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" }, "r652": { "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" }, "r653": { "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" }, "r654": { "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" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13" }, "r656": { "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/2147480767/946-205-45-4" }, "r657": { "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/2147480555/946-210-45-4" }, "r658": { "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/2147480524/946-210-50-1" }, "r659": { "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/2147480524/946-210-50-1" }, "r660": { "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/2147480524/946-210-50-1" }, "r661": { "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/2147480524/946-210-50-1" }, "r662": { "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/2147480524/946-210-50-12" }, "r663": { "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/2147480524/946-210-50-2" }, "r664": { "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/2147480524/946-210-50-6" }, "r665": { "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/2147480524/946-210-50-6" }, "r666": { "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/2147480524/946-210-50-6" }, "r667": { "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/2147480524/946-210-50-6" }, "r668": { "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/2147480524/946-210-50-6" }, "r669": { "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/2147480524/946-210-50-6" }, "r670": { "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/2147479617/946-210-S99-1" }, "r671": { "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/2147479617/946-210-S99-1" }, "r672": { "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/2147479617/946-210-S99-1" }, "r673": { "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/2147479617/946-210-S99-1" }, "r674": { "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/2147479617/946-210-S99-1" }, "r675": { "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/2147479617/946-210-S99-1" }, "r676": { "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/2147479617/946-210-S99-1" }, "r677": { "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/2147479617/946-210-S99-1" }, "r678": { "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/2147479617/946-210-S99-1" }, "r679": { "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/2147479617/946-210-S99-1" }, "r680": { "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/2147479617/946-210-S99-1" }, "r681": { "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/2147479617/946-210-S99-1" }, "r682": { "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/2147479617/946-210-S99-1" }, "r683": { "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/2147479617/946-210-S99-1" }, "r684": { "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/2147479617/946-210-S99-1" }, "r685": { "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/2147479617/946-210-S99-1" }, "r686": { "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/2147479617/946-210-S99-1" }, "r687": { "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/2147479617/946-210-S99-1" }, "r688": { "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/2147479617/946-210-S99-1" }, "r689": { "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/2147479617/946-210-S99-1" }, "r690": { "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/2147479617/946-210-S99-1" }, "r691": { "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/2147479617/946-210-S99-1" }, "r692": { "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/2147479617/946-210-S99-1" }, "r693": { "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/2147479617/946-210-S99-1" }, "r694": { "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/2147479617/946-210-S99-1" }, "r695": { "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/2147479617/946-210-S99-2" }, "r696": { "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/2147479617/946-210-S99-2" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r698": { "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/2147483581/946-220-45-7" }, "r699": { "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/2147483575/946-220-S99-1" }, "r700": { "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/2147483575/946-220-S99-1" }, "r701": { "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/2147483575/946-220-S99-1" }, "r702": { "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(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r703": { "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/2147483575/946-220-S99-1" }, "r704": { "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/2147483575/946-220-S99-1" }, "r705": { "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/2147483575/946-220-S99-1" }, "r706": { "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/2147483575/946-220-S99-1" }, "r707": { "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/2147483575/946-220-S99-1" }, "r708": { "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/2147483575/946-220-S99-1" }, "r709": { "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/2147483575/946-220-S99-1" }, "r710": { "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/2147483575/946-220-S99-1" }, "r711": { "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/2147483575/946-220-S99-1" }, "r712": { "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/2147483575/946-220-S99-1" }, "r713": { "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/2147483575/946-220-S99-1" }, "r714": { "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/2147483575/946-220-S99-1" }, "r715": { "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))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r716": { "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/2147483575/946-220-S99-1" }, "r717": { "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/2147483575/946-220-S99-3" }, "r718": { "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/2147483575/946-220-S99-3" }, "r719": { "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/2147483575/946-220-S99-3" }, "r720": { "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/2147483575/946-220-S99-3" }, "r721": { "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/2147480032/946-320-S99-1" }, "r722": { "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/2147480032/946-320-S99-1" }, "r723": { "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/2147480032/946-320-S99-2" }, "r724": { "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/2147480032/946-320-S99-2" }, "r725": { "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/2147480032/946-320-S99-3" }, "r726": { "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/2147480032/946-320-S99-3" }, "r727": { "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/2147480032/946-320-S99-3" }, "r728": { "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/2147480032/946-320-S99-5" }, "r729": { "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/2147480032/946-320-S99-5" }, "r730": { "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/2147480032/946-320-S99-5A" }, "r731": { "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/2147480032/946-320-S99-5B" }, "r732": { "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/2147480032/946-320-S99-5B" }, "r733": { "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/2147480032/946-320-S99-5C" }, "r734": { "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/2147480032/946-320-S99-5C" }, "r735": { "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/2147480032/946-320-S99-6" }, "r736": { "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/2147480032/946-320-S99-6" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r738": { "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(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r739": { "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/2147481027/954-310-50-2" }, "r740": { "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/2147479438/970-360-S99-1" }, "r741": { "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/2147479438/970-360-S99-1" }, "r742": { "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/2147479438/970-360-S99-1" }, "r743": { "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/2147479438/970-360-S99-1" }, "r744": { "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/2147479438/970-360-S99-1" }, "r745": { "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/2147479438/970-360-S99-1" }, "r746": { "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/2147479438/970-360-S99-1" }, "r747": { "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/2147479438/970-360-S99-1" }, "r748": { "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(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r749": { "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/2147482856/976-310-50-1" }, "r750": { "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/2147482707/978-310-50-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r752": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4D" }, "r753": { "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" }, "r754": { "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" }, "r755": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479876/805-20-55-38" }, "r756": { "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" }, "r757": { "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" }, "r758": { "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" }, "r759": { "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" }, "r760": { "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" }, "r761": { "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" }, "r762": { "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" }, "r763": { "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" }, "r764": { "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" }, "r765": { "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" }, "r766": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r767": { "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" }, "r768": { "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" }, "r769": { "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" }, "r770": { "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" }, "r771": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-11" }, "r772": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12" }, "r773": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-12" }, "r774": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "79", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-79" }, "r775": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "80", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479294/326-20-55-80" }, "r776": { "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" }, "r777": { "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" }, "r778": { "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" }, "r779": { "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" }, "r780": { "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" }, "r781": { "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" }, "r782": { "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" }, "r783": { "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" }, "r784": { "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" }, "r785": { "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" }, "r786": { "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" }, "r787": { "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" }, "r788": { "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" }, "r789": { "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" }, "r790": { "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" }, "r791": { "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" }, "r792": { "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" }, "r793": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r794": { "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" }, "r795": { "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" }, "r796": { "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" }, "r797": { "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" }, "r798": { "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" }, "r799": { "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/2147480524/946-210-50-1" }, "r800": { "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/2147480524/946-210-50-6" }, "r801": { "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/2147480493/946-210-55-1" }, "r802": { "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/2147480833/946-310-45-1" }, "r803": { "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/2147480032/946-320-S99-1" }, "r804": { "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/2147480032/946-320-S99-2" }, "r805": { "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/2147480032/946-320-S99-3" }, "r806": { "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/2147480032/946-320-S99-5C" }, "r807": { "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/2147480032/946-320-S99-5C" }, "r808": { "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/2147480032/946-320-S99-6" }, "r809": { "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/2147480167/946-830-55-10" }, "r810": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r811": { "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/2147480167/946-830-55-12" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r816": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r818": { "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" }, "r819": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r820": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r821": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r822": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "SubTopic": "20", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r830": { "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" }, "r831": { "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" }, "r832": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(a)", "Publisher": "SEC" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(b)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(i)", "Publisher": "SEC" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(ii)", "Publisher": "SEC" }, "r840": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1402", "Paragraph": "(c)", "Subparagraph": "(2)(iii)", "Publisher": "SEC" }, "r841": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r842": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(2)", "Publisher": "SEC" }, "r843": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r844": { "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" }, "r845": { "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" }, "r846": { "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" }, "r847": { "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(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r848": { "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" }, "r849": { "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" }, "r850": { "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" }, "r851": { "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" }, "r852": { "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" }, "r853": { "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" }, "r854": { "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" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r856": { "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" }, "r857": { "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" }, "r858": { "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(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(1)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C(2)))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column C)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "4", "Subparagraph": "(SX 210.12-09)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-4" }, "r866": { "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" }, "r867": { "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" }, "r868": { "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" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r870": { "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" }, "r871": { "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" }, "r872": { "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" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-2" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-4" }, "r877": { "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" }, "r878": { "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" }, "r879": { "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" }, "r880": { "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" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r882": { "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" }, "r883": { "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" }, "r884": { "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" }, "r885": { "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" }, "r886": { "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" }, "r887": { "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" }, "r888": { "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" }, "r889": { "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" }, "r890": { "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" }, "r891": { "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" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8" }, "r952": { "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" }, "r953": { "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" }, "r954": { "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" }, "r955": { "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" }, "r956": { "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" }, "r957": { "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" }, "r958": { "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" }, "r959": { "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" }, "r960": { "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" }, "r961": { "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" }, "r962": { "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" }, "r963": { "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" }, "r964": { "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" }, "r965": { "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" }, "r966": { "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" }, "r967": { "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" }, "r968": { "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" }, "r969": { "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" }, "r970": { "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" }, "r971": { "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" }, "r972": { "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" }, "r973": { "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" }, "r974": { "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" }, "r975": { "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" }, "r976": { "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" }, "r977": { "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" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r983": { "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" }, "r984": { "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" }, "r985": { "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/2147481877/830-230-45-1" }, "r986": { "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" }, "r987": { "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" }, "r988": { "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" }, "r989": { "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" }, "r990": { "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" }, "r991": { "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" }, "r992": { "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" }, "r993": { "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" }, "r994": { "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" }, "r995": { "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" }, "r996": { "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" }, "r997": { "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" }, "r998": { "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/2147482517/912-730-25-1" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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/2147479853/942-210-S99-1" }, "r1000": { "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/2147479440/944-210-S99-1" }, "r1001": { "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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r1002": { "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" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1004": { "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/2147480767/946-205-45-4" }, "r1005": { "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/2147480524/946-210-50-6" }, "r1006": { "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/2147479617/946-210-S99-1" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r1008": { "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/2147483575/946-220-S99-3" }, "r1009": { "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/2147483575/946-220-S99-3" }, "r1010": { "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/2147480032/946-320-S99-1" }, "r1011": { "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/2147480032/946-320-S99-2" }, "r1012": { "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/2147480032/946-320-S99-3" }, "r1013": { "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/2147480032/946-320-S99-6" } } } ZIP 115 0001437749-24-009626-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001437749-24-009626-xbrl.zip M4$L#!!0 ( &.(>UA6EN([X@L 'UB - 97A?-C0Q-30Y+FAT;>T= M:W/;-O)S_2MPZB6-;R0_DS:Q9,W8B>-ZFL0>6_>8R7CN(!(RT8 $"X"6U5]_ MNP!(4=3#3M(HLLU\D$P0C\5B=[%/I1.96'0[$:-A=^V'CN%&L"Z[^>_/S[=? M/'^U 6\[FZYQ[0=X_[=6BQRSA"EJ6$CZ(]*+LB1DZHV,&3F3RE!!6F1W<_O5 MYL[6SG.RO??B^=[N-CEX3UJM;B=FAI(@HDHSL]_(S*#ULN%;$QJS_<9 JIB: M5L@,"PR728,$,C$L@=Z&"99&,F'[B6QTUSJ;#N9.7X8CHLU(V.&):6G^)]LC MVUNI:1/;,* Q%Z,]\O2/3)IVC\=,DP]L2,YE3!/7V"8I#4.>7.V1+9Z0K8UM MGK1)D"DMU1ZAF9%M7#/-%S+LQK2HX%?)'E'\*LJ7^K*U8ZJN.,R$PP ?_6XG MZQ[]Y]>3PY,>S+6QN]O9S+J=36C?3+MK)3#*2U3F;H_AL>#8QVNJ.$W,7H)H M%NW2+@+ ,5-M#TD!"$]Z1Q<]\OKT_.ST_*!WY MW""(!%P41$YBM-L:UVYIG@0B"P$;?-T-Z%/-B*:"JE$36ODZT1&(0\"NBK$W M3,&OV>0F0-#@]E'FX>R4I$Q9 0C="4X($E8F&6 A"7%.F%3(Y.ISYF1_9-R, M)KM<*: 0O?&]2?KKF#BGY2H7@^0\Q*.XL$=Q%[GY0-FW1) Y5U8Y07L.NFP2 M-AC@A0O4! 1B6ZABA&(/(>10[RT1@X;V!< O%>@5^XTM4 &8$/YZ+IYU2H/\ M^6LO_Z8[GB;13/%!FPQY:"*<9.L)WOJ@]X!BI. /_ [SY7RO%]")7#-E>$!% M?E1]:8R,[6 8LQSR+Q."IX.*<+S+)[F\>]_[]>FHZ_N>QURLSSVG_#P^XPA7 M^7,5#J&B,=R*^H?TN>KX+]2X54!6C?J_=O.X]TT3+KA(JQ?FA*9S=WNZJ@DT M9JJ%4\?QEZWV][F"/L=QO?HC7KW$!_"-BN4:?*/6NSQCJ2P=7FZ7E/!O(?26 M; !>6,N[AU;R26$EE]T9JV(6?M-3?568@A-N!>M02.DHAC[$P%!FL .BB5X! M-$:2/B,9.A^\+V'*;$0/RO8O;3\7F#U!)IQKP=N35>/Q2ZBC-BI7U:B<*]T> MBR97ZW,UZFO4UZBO4;\,U*^ Z=AS:M)9H29]:P/RXV*4D,LG]>J/>/65-B"7 M;/+][\ND"MI%-)89&$$V]#HK2@PVCO9&3DQ'1-'DBI&!DC'YDRE)GO$!263" M\O!:V(^<.VY$M1W>D0[I +03#E ?U.9;Y;3L+'>PA.T*J4J$LGCHAOR:!H%KO-\Z.#W]K5%C5VA ^I;;VA#E?'M M(=>IH"/;ON/;D!9=652%:$OOD7+W&TBZOA%F\"BAOB55;,!O]AO^T:XZL8[. M!N4.B$J+R?V&(Z4*+N;EN$\9^56K>"N\HYK"4I)>DCP9K(.06]@W"R_VP7H_?/H!<&73A2W6D>U[4$ M6Y/P :')J$FP]$[%/('.UM6)W6,*2]V0/A-RN''[J:R^PVU6"=C'#N_:C08< M_8J\>WF_]SC;UYIU7?FF&&MN#VB#<[RFX^HU'5&0\7G*$K.>Y8+B"0TBSJZ9 M=8UB5 "[5@K V.UU71ODQ"5.!?67 MS&,%&OHI?EWFR5*UG)5%-(,+"#L4BX&@-VXI5\LVQ@+(+::N,=D+FJV&@0[C MF'Z"W66Y;WT2-%>$QI%MX#XQODVQ*ZK0ZVIGX@!18#&7@0#, (2 JP#O(Q18 M@$!%8/,6E4D5U]:#/4.\%?C/1=>4!WR#' #.= ;C*Q!;U[B]@7%[LRN@?(Z; MAFL6$) :U21Y]R9[^?S=Y. !?%,( JFEVE M)6P/ON"P7&W8+$*;JYICWM]"(CR9%6B#NY[FI.B7(A(><'%?XQDR:B*XF;BF M?2X T4TD):!"KNS435 HW6'G,8]$^DL8;C4D3 TMAK X%7+D^.H-](S[L,KN M=G.ZB-1?D"1(HQP]$+Q,%J^UGXBV=)=Y?YB'^4,.-6']B5@PW,. M@ S]B>P;:J]W: 9]CA?L"SHA(@1V@10H&$X0@PB.]$S>L<#F& 4V6D07",&0 M"8#EV?;.^@;I]+L$$W /X+ G(U*%!(QI:(L1+:J "AAY3Q7P^/:+6>M M8!BS*& U9#$RB$-)P1PJKQ<&>V!HC1!?*.P8:E1(XI3RD*29 @&7&,?5>55P MN36G92!). ,U(JD45K5PW D4R5CHCMFB>^3T-NI%%@]LC M@<0- M/@DVX<9 M [:)V^^PNOFQYVTOC/86[%$6$[G4FU_LC4:JYMJ:"4#.( GP22Q32@ M7!&X<.".K&/']S%VO#I.^-M]\ \W"+(ZIU"'8E?S).IX8(WZ&O7?!/4K$(I] MBVK4OU"-JJN:Z]7KJN;/3TI?\H\SH;=R@:566'AT2%4X]AM.VX)R@<_EZS\O M)WZ;[1B!(V^H*7[JS;EX3700OR9U+=X&Q%%Z82.0N M1>&J;KJ2=ZB$?>_C"X34V#%5Z(7TKMVJ!]=O#>C'L(B,C[99@'Y'-$RZ#,9^ M:[N5K]C%H:#!I]9%$$D!:[M7TCGJR]#RQ.$+XRQ-8E,&QOR2, 0<8,%)IC:T M3!_:_4P *;()^N@GV9F32U!D#BP 8['GI"I\&]V=.NED8=+)H\J^Z-TJ;5$F M>>F)?1:)_.:=Y?+TK-._,^I#I;G F54?HYE!86DBESNQ7@C8LN2\=;%\R8?G M^)]SX#/BP/8'28I[QU]@@SN=9:&83(>-'@M"QPYX'40LS$2NKHUS'R(YQ #X MJ(3<*E7/91:%5[W@UTRQ<)F^_"5F!N5X>YB)0;/(1N8I&H22*SC;9((6!+P0 M31]3UB2&.7W0&[,\2@6M$70!%2QG7AL/MT-MD'_(-'5ST6F.%=J:2 M_Y7*^^X2E??=A;HK_('_74.WLVG_VXG_ U!+ P04 " !CB'M83W&RHUT# M !B"@ #0 &5X7S8T,34U,"YH=&WE5FUO&CD0_MS\BCE4-3V)A24)IW39 MK$0(I5$;@H!3VT^5V1U8JUY[97LA]-=WO' 07G+77-5/E59:>>QY9N89SWC" MU&8B"E-D273R(K3<"HSPXT/X?G@<]E*B9Q00F2QBG MA4Q0WZ@,8:"T90(\.*\WWM3/_+,+N PN&H'OP^ ./"\*,[0,XI1I@_:J4MBI M=UE92R7+\*HR53ICUDO08FRYDA6(E;0HZ;1%@7FJ)%Y)58E.POK*YW"BDB48 MNQ2ENK2>X=\P:/BY;97+*!SR74&ERV M'&J^ [76W5-M'3,S9YHS:0/I(A MBP_68X+/9*#Y++6MC.D9EX$[3R%/HK"( MNI_>W5[?CJ'AU\XOPWH1A762U_/HY D_#F/X 4]V#+^2$Y.W?@<;/Y>SF*X< MZH.D=>[O!MW^J#V^'WZ&]G#8[O>Z=]W^> 3W;^'F=MCMT,[H=TGC_Z!XQ\(- MUU3E2AM8I J81I#* A-&@2HTJ.F4QTB[KY'%*3"H2"4]S'*AEHB0K+4K?T)< M:$T)$TL@$?(Y I/TR8*ZD:;FPJEA$1R\/&M6?=^O4=="N%9,)]!)&2?/)' # M.>-)J4E]P34?TCX&83=RE.."Z"HH$FJ2$M?&J^HCU M8_AFA_,]\'W&_SN!6V^K^V!/$/YCF,T5I"-T#_9Y=#_#6HV@CY2;617H8:&Q MA;OCI*[16,UC-R 8J^*O4$X(94G33' .HU)X*UV/=1 #P62-UAN'JK! 0N'9 MI*!! 8Y6O3D%J]D"#H]4EDL)?78%8&>L2:U3,RT%EP2TU$&) NA=_78Y* M;V\/L8J.0U.#CV1$E9TH9TMW8ILUNVI,^(!Q4;J^:5$TM[AL4!48U'.2N6NU M\;7V*[OH3I].^!QB09%?53ZT1V-OT.YUO>MAM_W>#3>/=@>]M^/AGBR=>EHM M#H4Q"@O_ONZTU.N%FL",_\J+N9C)Z LO9\CM02P,$% @ 8XA[6&M! MJ?^G P %\V-#$U-3$N:'1M[5E1;]LV$'ZN?\5-0]L-F"++ M3;I6E@4XC>=Z=3(C5H.]#91TM@A0I$I22;Q?7TJV&\=.VG1S,FNP'TSI2/'N M/G[B'75^JC,6^"F2)&@\\S75# .\_NOUH7MTY!Z87M^9"QO/3/\/M@U]Y"B) MQ@2B&81IP1.4)R)#& FI"0,;7CGN6Z?5;!V"ZQV^]DS;/07;#OP,-8$X)5*A M[EB%GMAOK(64DPP[UD3(C&@[08VQIH);$ NND9O1&AGFJ>#8X<(*&KXSM]F/ M1#(#I6>L>IQK6]&_T7.;N6Y7MQ.243;S7H8T0P5G> 7G(B/\93LG24+YU&M2 M#@URUOS65/<^>Y>B2R(IX=KCI0^LG1$YI=PKNZW@!8]4WO:=/&CG^^'QP/0FBYOE,$OF.$7S'B*1S=Z]@M M'?^.>+%Y-U%N,&]<1(HFU#QFYA83T"G".4ZITM+,LZ?A/]*A2<00(B'-AMNQ MFF9O1,86N]B7>Y63>'G__:M]11.=>F];SQ=FV PGVB.%%DM!M=/,)585$TS0 MD.:B;).EQKF-=B2T%IFG!*,)N/DU_-BL?NU+E)K&A"U(I$6^T'SH/J^F-;-M MBZSKU#PS@::DY"I%OQ"R5.SH9&O^N+]NW9]OOWR_%Y*JA%8!M/(L6BQ0%!B_ M!SP6,A]6J;%'>Y ?"^2!.8K,]O ^%KQCRJ@Y MFL$%80QGJ_O&GM:/@GN(6:ZEX"8$W@([VH.]?; O:(+"Y!LS&&3$B*?[P/A$ MZ9W)3@]J O ?7)OQHE[X]K/H?4WP[:,9Q3=B^$[BNTB?CP\NZL+>,]0I2D9X MHNJ$\)!F5&-=CH ?#SYL\&$7T5TD=:.P]TMYP*X+A\E@"BX^5CRH"UTIYR+'NC< M)B_+<\9]_C9,6Y8 -NL-E6U0&0>KCL"+3X70[35_YL(V+&R&_W'))*&7$#.B M5,<:=L>A/>KV>_;Q>:_[H2SVKO2.^K^%YVNR=&)+<;4I+,LL,.J??3R]T69& ME#7I.QICA5/6J /?J6KMGP%02P,$% @ 8XA[6'PJ2ZJ8!P -R, T M !E>%\V-#$U-3(N:'1M[5IA/Z;9-Z M7#K3;QUQIP--[J2+I /S_OKW6=UA, :'U'63M)U)#">MM*O=1\^N=/3&/DO[ MO;$4<7_G6<\KG\J^O/G]Q5'K^+B]C]Y>LVQ$[W\:#;J06EKA94S#&0W&A8ZE M?6TR25?&>I%2@PZ;[>-F^Z!]1$>=@X-.ZX2NWE*CT>]ET@N*QL(ZZ4]KA4\: MW]>J5BTR>5I+C,V$;\32R\@KHVL4&>VEAK27JT[FM>7 M=KV\\0V1JI'N6#4:^VXF[$CI#LO#(<-^K^B?__;#Y?7;RY?G0TN?W[W M%2]V24-8M\+>0&_[15!Y6:=KQ>B/Z=T^75@,K--_[7Z=(FF]2F;DQ\)WOMYU M$_J7_Z]S0FN_M.#^WTL:BXDD*R=*3L$N?JP<":T+<(J5.7-G7[[WV1N^]% X^@X.R&;W79IK*>"3KI1,K[\4& MEFGC Z<*T)S0,RJTMX7$2L#H&32Q6P6!A"5L3"D1$9HLF4QY\J:4NR>@922= M$W;&(IEX+Z%W:4Z'MAC&0&7*=,Y06,>9$7)<<7 R+AQI2D9NKF(+)RI)QG,B7!C:7= ML+*^A 4W-^:>M7]S.!QMA,/@CN^>NRK452KBK6621.$Q^/.2A)4A%8DY8AS*V)9(QF1[N(6"P!@3(L MYS?(CGHDZ0Q[^;I((=$Z%(W6\:[<"T-;QW'Y5#XJKB=T"1V>GWC#+R&JC##; MLK6BY(ZB!(IXG:LX@P3GJL^>JFD5/+2^ IYKH4H-K4/089OEES%$K:-@R*[8 MVX2BU]*AM(-7 V-_/.1U3B:1*-SV0YC5AQ+AJS25><(4%A-@=T^4"YP!*:G# M/%Q%+=AFF;&L3$7 0Y4H%C&M5VS&G0K, UN<254,4$[:/"_DH,(QQ$@;AY!0&Y0) C(I4,#%B6<&(1:K"B#+Q+>=K?!M* M%@1W8;R,/SM7_55X&VZ)MZT)X![LMJ>.K=$'Q$Y4S* 2SFC!'"D< ,G5#2,- M=?\\ZL"A$D.5*C_C-+9.+>^! ) 0^Q*^=T27JJ- Q3?5@O("Q;!#E#CM1I&Q M<3 @U$FC<'1/ 4'TR)RQS2*H 4N880^H'&SXCP%:M!%HYQ.1%F'W< %K8^RMRE9FHIV4X\NF[1^V]TI*Q<+>9 ME%DC0%'&@4[#ZBNJF^%@]UZFU?EO1;[^"(=\$W02C!*HF;ZR[35FA 9-EF?)>RK5T.31\#8:>6,&F M,'P7F ([.68_?'+5-@>__% HF!S@7NAP,^SV_JV^NV:J^0SI M*;'8EW5$30820=S#35H%D'K)]TI/3#J13/I:C*H+05OQCLSRU,PD>J=C4Y*- MN ,_P.61^6__<^_IKU"'#T>-(?:/M*>U@QKR0YI6K[-NGUTNHOGSX_?(5,5^ MW*&3XY/\9@[31BH3@+']'0M43>'EUN+]V;.=9\]ZWN(+?\9S0R:Y!G?C?7I=65D"\A+F3VDCS-T^ZBK?"@HC;W]6)W[D^M)R'[&R]. AVSK'U M),XX"HAY2F=ORK%Q6I" M42J<.ZW]=/;+H'%U=G'>>'E]?O8C_RICJ??JXLW@>J5MG#2LF=YOY+1(5Q?O M?GV[T 8)_FG)F@]8T>2?FO1[S?"#F?\#4$L#!!0 ( &.(>UB;VW3\C < M .LB - 97A?-C0Q-34S+FAT;>U:86\;-Q+]'/\*GHHV#B!9EFPE.4D6 MX"2.:_22&HX.N&\':I?K)<(E-R17LOKK^X9<6;(L)4K3U$U; ]9JR2%G.//X M9KBK8>X+-1KF@J>CO4=#+[T2(W'S_Z?'G5[OZ "]PW9L1.^_6BUV+K2PW(N4 M3>9LG%2%.&IFQ!?>M5'B1>&ET@R5&>Z$A[84296ZT.-&F,=H; MMJ/%PXE)Y\SYN0K#M6\Y^8OHL\YAZ09S]\J(P?C&4A''LK9NS* M%%S'Q@$K>9I*?=UGAU*SPX..U .65-89VV>\\F9 .LL[BNIYUR8<+(T(-H3; M*;>2:]_7M#XU\.+&M[B2U[IOY77N!P6WUU+W21X.F8R&U>CL?S]>O+@8LZ/. M07?8KD;#-IK;Y6AOBQF/U^QXO(LA=_3^H">N''Q,QY[HB&L6V)OH+?[-*B\:+)7E4ZX9N=2%::R398(ZV4V9S[G MOO_M+IBA?_5_T^H[!]&"^Y\7+.=3P:R82C$#K?A<.L:UKD F5I1@%68T>PV- MV-6MGYC)F-3CLW=C]M)8='-BBH^N[-OW7G>K]UYP!Y_!0<6LYJ[2WEF%'%GNV!/PEW.,F5F;@$B*ZZE\Q;> M8IP:H]VPLKF"!;/%6S=?"PS:7O0@NKU;!-"#KJDOPJAECG M.!BRSY]L0]$KX5#3P:N!L3\=\B8EDX17;O0-V$";"[I](% MSH"4T&$>JJ*6;+/*6%8H'O!0)XIE3)LUFU&G!// %F>43,,!QU43)U,))](" M9$QG@4,US50Y2C%A^[B0CP+#&"=@$(Y,85#) <2D4IR($: MK_%M(D@0W(7Q(GUPKOJC\#;9$6\[$\ ]V.U.'3NC#XB=RI1 Q9W1G#B2.P"2 MJAM"&K?I(NK H>03J:2?4QK;I);V0 !(B'V$[QW1E>HH4/%-O:"R0C'L$"5* MNTEB;!H,"'72=3BS*T 0/:(D;),(:L (,^P!68(-_S9 2[8"[6S*515V/T5! M9!D]B9C"?VY#Y8'LN0./Q=O-94A % :"@UPL=B:F\MMU[\*T_%9:4"67?;HV M9I-%C1@VB8@^H&,53?YW 46ZG7VBU^]'CTY2=4D1>M; \1EL0[G+)$EE*3HK MB>+.?(5Q'BWT) 6SN 13?*B083#I_CWA#-#"WE^3J\U$/2W"D4_?/6H_B9;D MW-UF4F*- $61!CH-JZ^I;HZ#W7NAZO/?FGSS"QSRIP#>URW1>[];B1Z>GZ0+ MC#:7NYG(914SRXT=GZ+LG$7OU4TPBJ-J\L:ZVY05&C!944COA=A(EQ.#=$@] MJ81-8?@^, 5VW5?!,\/>4/V)=$#)(J&C"LYW%$?NSP% 7K/%8N($&>(J!3MRR MP ;@U!40A($!%"K-F+X<K"G@)G@S+J%EVXV.(/P5#/'QA?(H,E%ELO28" M(P)/(+3A85F-@6:D=*FG1DT%\;KFU_4S/UM3BRA*9>8"O;/<1#[A=Q &1'QA MBCMXZ%A]@SI\.$U,L$6$/6D<-I "E*I?5=W>NY(GB_M-$/WH>Z][<)W)U.=] M]JQ[\.S?QYWO%TAM*9$!C]UG)%,WA7=7R]=CC_8>/1IZBR]T31>V3"EKH0*I MWP)Y4PZBCN<'F+X1Q;_"&YC&Z!4V0$P6I*+MTW73HF-;$^.]*?KAW,\ZY0W[ M[C#\#;::WNT<=+^N[6^X!GY6>O%U=GI3_1+BI7>R_/7XZNUMCQK63.[WTCICEV>O_WOFZ4V M2-#/039<8$6;?AXR&K;#CUQ^!5!+ P04 " !CB'M8$O]36F($ "\$0 M#0 &5X7S8T,34U-"YH=&WM6&%/VT@0_0R_8BZGMB#%3NPD%.P0R81 D?1G4 0X]W9F3=OWXXG[L8J37K= MF)*PM[O354PEM$=O_SIH6YU.V\39;J,:Q-G?# /.*:>2*!K"? %^7/"0RE.1 M4I@(J4@"!K0:=J=A-^TV6$VGW7;L YA<@&'TNBE5!(*8R)RJXUJA(N.PMASE M)*7'M4C(E"@CI(H&B@E>@T!P13E:*YK0+!:<'G-1Z^UV&Q7D[ER$"\C5(BF7 M6N@^%N2:2$:X=[K%KW! MYP_#DZ$/+=NTNHVBUVW@<"/K[3X"XWX*3P#R3=RW?)YG[DO'^&=T!J@&*N_Q MR;@_F/G0'T\GXZGG#\>CDLZYU!*Y^^CU!U-_>#;LER8PN9S.+KV1#_YXP[QG M'<*E.3/[)LP&_=+0:G6:]4T3;P;>Z7CB#TX?<[):>M0\@/$9^!\&,/.F)]YH M,#/&GS\-_@2O[^L9N]FT7_?^:1&&7%<$7E4'N&$J!A53\#@OL/9,:89%"$0$ M*SD(B2.D--[3AK6^2#/"%[5]P*$SC(!%RO@(6'A*1PM*)%"L:2&P2E)\'J[(7[:V;O9+26T))>ZZC5 M=O7N_[_(M;]++N-5(Z 9TPT 81SER:J3M&*>,(G49WA"-,EU/4V2!' 9110) M;D&>(>MYO5P5,4YXH,?183.[@[VTM@'[.AKN I\K0MS0))E*Z-$YE8. M#TW[3;D.S9_EN7F*IZ*JSSI$0X7;T"H6C;E02J1.+A(6@I7=PN_-\L=]%+IM MF0?/B_V"R" &^WWY%&Y_+XE'05I'%"TE M]Q/*>YR8'V[\3RS]\7:\(-VO5/\RJI_4WCY"_2Y>=?W_50^;D%U#D) \/ZY] M\F:^,?'.!\;)=.!]U.\--F8GYV?^=&LLC@PI;NX/Z@<43,Y'EQ=WT=!"O]YX MX((H&OIU!WY3+-_:_ U02P,$% @ 8XA[6)JK!-1R! X1$ T !E M>%\V-#$U-34N:'1M[5AM;^(X$/[<_HHY3MUM)1)(@+X$BI0"[:+=%@2IM/?I M9!*GL9386<=IR_[Z&R>!LG2[;W>]ZDY%0(AG[&?\^/%X2"]22=SO190$_=V= MGF(JIGUZ_^=AV^IT.B9:>XVR$:V_&09<4$XE432 Q1*\*.@F'T>PE5!/R(R(RJTUJN0N.X5K5RDM#36BAD M0I014$5]Q02O@2^XHAR]%8UI&@E.3[FH]7=[C3+DWD($2\C4,BZZ.G FT^Y4%V/)32#*WH',Y$07C9V(25!P/B- TW&H6E:C'?! MSV4FI ,D5Z*K,=,O@*IQMP;L/@11Q%#*X/$[(8[DMU$ MJIL0><.XH_V1D$6_E_='']^-S\8>M&S3[C7R?J^!S8VTO_M$&&^WXGC[(X%\ M@?N&+[*T^](8?X].'[5"Y2,^&?=&2JH',AM8 >OOJ#T%HM3K-^J:+.P=W.)EZH^%3 M@ZRZGC0/87(.WKL1S-W9F7LUFAN3CQ]&?X [\+3%;C;MU[7_,80QU_F"E[D# M[IB*0$447,YSS$PSFF** A'"2@Y"8@LIG/>U8VT@DI3P9>T L.D<$3"/&.\Q MC.$^PQG-@E#YE,T>)*2+)<8E@9$?(FY52[UG/6HU?3J@,Z*A?@CQ127(YV@ M!&SHNF*PT+6>& E$JE/^IOO*22NX&G].Y()PFAF3^Y@NP?4+MK6"ZV@GROGO M"@S0OOE!N'WKH$1\_.TA&97%DJ:,9TB4 81WFRM MF"=,(O6II)DFN:[-)(X!NU&IMPT:4F0]JQ>]PO5VP@$#5@RM=Q%ZY7&Y1B*E M9;K(MG:4^=+U)I:3-(ZK4F]]GZ7$7]W_O*SO6* B MY\@R6W:K8Y^T+>OHL'VT5P5EQ#141635?5'O.:N*/>_\ M&UECJU+8Y@"OA=9^07)/,_+=%?^%KM]?AQ?D^97CY^?X9RO<)U9A%Z_Z"/BW MSIN W8(?DRP[K7UPYYXQ=2]&QMELY+[7CP\VK-.+M3'+>R_QS_%3J@XG11P='4X$#X\>_718R"(21^+V?YX_W7OV[/D._'KX6%]\]!/\_H_M M;?:+2$3."Q&RX91=38%C]@V>_)X[]7C_=W]IVSO]=.]UWO/ MV/%'MKU]=!B+@K-@PG,EBC<;93':?KEAKB8\%F\V1FD>\V([%(4("IDF&RQ( MDT(D<''CS7-A\,TG#)53"-Z/"FVE?Q?\7IO-RL.Z.N( MQS*:OO[7E8R%8F?BA@W2F"?_.LAX&,ID_'I7)FQG3R8'V&IFFXIY/I;):[:; MW3)LBQ7BMMCFD1S#Q5R.)W"IZHY1?\SOD/W\5YD6!XUN]47HZA#OK=%MGVM1 MVF-TI<>4R.6HU2VT-3PZ+(_Z__GU].WI%7OUXO!Q>73X&"X^QEOA3W;T:-FA M16)TCT;V#+%!4X7]PZV M>FPB<@'[' _3K%"LF$@%^UPD@RD,*F?8P$ $Z;7(I]AY/\]AATI+%4W9,?07 M FG8K$B4Z1)HAITNP1_@^5RH@K;249[&K !&LB*EOSW=5T6=[M4G#H;*> # M"GD2"'8CBPD1E(N_2ID+Z 4H!J)J1 [*"":K@W70KXRSB!X#AMWDLH"-EV7U MP>;>8(4W6&X&&_B#A9N%O-:&@K@505G -WAR) .1*R0?FQ37V".TQ_5PRJ2 M;=FR!LG9 3.CXKN:\"@"JID8C=!*@"8YC?,,*(N'(F?[^ST&YL<35I_?OKO_ M!!KV.;DS5[[G;7=WE_668'_3E=;J'13._B+- )/P4VBP.4(BYU6[NL'.PTO]F<3M,FW9DEQI1".*VTSJ+2-IQC,A"#K9VLG MMBFW6%AJS0T3# X,6+/@""5I@NHPDJ2>C2(VFXS6UO@!EA3\CO?G G8FT[K3 MX(S\*RTY C[!?0HT*6AG">R$30VL9YD$48F^##5H'@YGD0MDPIX!NKG ,:$2 MSU$59[FXEEJ92Z5*W),<9>YAW %Y 3=4HS2C7O+Q36X5\ELYUO,QL,SVB(2- M%ZC:E,!9ZM 0K"J*+1U)6M1H68Z.'AN6!;M)RRC$;LNHH,VT:BF&AQW'I)XZ MW?$-& 34JZ$)>C ;&W22VU MT(=++'2R%_UUC2M:T51H4Q(6YXG$.4ISU5BI:[9WLCU8@NW P1BM2-'-^IIA M[.ZU[*>)(36 2BV%2SE:E^:F4"B@R*)0U42"!N!A#%:**DAK>ILO3]SZXT,E MC$Y690!ZN&JY1UK@SQ04[-22@@S)!'&%A4Y,E,BO4;>F2=7_6E@ZA25<2EC MKX#I7.1"=W M)V@:1714F$VZ[F3037!7]?OLGH=B#+L;255 +@U\:]VEQ7A37F^QFXF,1,VF MF.!#+(BX(B7FVPFX'D(D%I%69$C=CA"WP80G8T%CZ;P#VDQA$\4?UD+>*>1B M%2%OSFM;JF'VH5MY+<,29N)FDI)HH%G7+1F,%Z0I"43HEF P-PA@1]5G3 _K MUW,26VC]-$$X#MK=?LM5"[VXF0A2Q/ 4FD"D/#TJY6S2L!.-;Z#AMG"Y0DO. MC@6=/D3D(>,R=.:P4^Q;1K&C"0S3/82=PME7^ N.&)YH$:7NGQ@#'_7J?;-Q M\Y_V4:WT;0T+9LK%)2@2QC(J+7U_FK@&O/I,,@K\SIH M/#L9;>?I3?MB(, ONOCE[/>/U1C@#HS+^'\>'4YRV_'%\2_][;>#_O%OV\?O MK_J#UXQ'-WRJ#F#.0 !RY%LB:L0<,/"":53[V>T!;-)1"K?]=X\'F< M@X\3;M=_:C'@UY-N!NAHQQV'?W7^[H-,/L]E@.-#MY2M&A&9(U,XE"YYTO$S M$Z$LTNULG)3QFPWP/')[/90JB_B4KN^; M:TB:CMHU!N']CI2_V:!8CKX(+1@^<',%'+:1O'VS8;Y2K[5^5#GR;\ QTY#? M;&CQ;?#_GNP&HR5V@[N9.CQ&KQXW^+FZVAD\I'!A@QH[L[ANIA'&6 M"9L:"N&U/^&@?@M]$0.W>:QA96K1&,<.Y]9]@WPC,E+B%01"4G#&=IC59Q(F_RTBBAV@]]@L901+5-8)'D: ME]&8EA>N5D$FTGKV.F=/+C5[2QCG4V=D@BUL;$S3A EPV2?JC&!4PB?8FH-<:(V=5@H8W<.:<>[B;=9;)+.Y M4&#$#Y4,)3!8J"JX!G8#7"5G!4QZ,[(69^P81[.C'FM![!3$/V<*HA>Q?.^@ MZX&+#7P47)5YAT[G^!=_BP,U V7';E'6VI3E9#N 6QN!\6,B$&#YZ4 X^97F&;7#YK#! M""R(=VI]P$[R%.UQ,"J$5E"=IIBJ!@_G DA EQ+64)DG.^QX;G<)6%'D^@Z% MQT_D8'UUS>6+'B\1J^<"[HJP%S<3E_UWZW73N6X^+Z' YYFU,W1YR_ %(1WG M'&>WQP3/$Z&QZ&M!0)HV;MO26V;&X.5%P642V\R&>3*U,]\,#U.AHUQ6O)>A ME60<:25H+RH5- Z4$GD4D]0;!I&&$68YDO"0@!_2:6PV-0VY9P;LM&8Z\Z>!2\J%T M+91HF0W&.G'^JB E9!(/D/ESI5,OH9N)T&(_]U[2^Z !0Y<8U+-6BIJA.U4 M,VZ@2H-IZB?P]KG;@A-JN01EE+U$Z"4M6UI'US D$_C-N%L4M,ZLF3:WS30 M U%YR#\8\_I!;@._:\GME-QX"17?",9T.UG%)!?"ZCO*!"!YFH*.;$9YF8Q! M,"4H'%"3&)$8[UY"D-^+ M#H-84E[N[5E2SCY=]AVFPS[H0*"5^H\\ =?P_LG&]QD)<1#W4.05?MT$N!V< M/8>,;K;.6B,;1_OKZ,N]B[[<"_V6+F<%UG>X[MT4=I%(8NQW1$D2>"G$[9#V M/"]CQTNF:>?RX#>#CY&/87/!&[LQ+V%'RW5F;,H*_EF81!VMWL NT^D^]KOV MD&S$&*,+)A[;P*8]B;PEXU!F<.U.//&OO K9]U)XW:O R? M,?#%J;YKW*KXK$F*/SZ(V43K+I_**:/;P4 ?=/A]\+^<^6V-]AJUT( MTN/LNNV6P%BE'F0J3-?!@2>+#@ZL+>E.<-#?L[/?O(REAF]7CR1WCXO6IQZ,&P%\N):A MT!V[_*;9%.B,?'?P"384!(NQ"Y=*Y;BP- ?(]@=FQB85B=*8')J@,6<=['/. MP3Y_!ICXU3KW;XLDH:;=U MPS$]&(^&(-@YU;(1*,L>"AC# EWB:,NL.? MG8-;2^V*>? S8_S#/.7AS""_2?#-TRQ'3-#8KB T*PF0VV IE%JA5".NCUR% M+)!Y@)E[&/)93^ZJ^=]7^H@@L>MG(D;F !$-!1X2MTB,4+[1*Q.C"SW E?QS-A)" M;5E(UF$#>$I#?":K,+T;'Q[>$NKR&Y\N/G"N%1VWT>JU\_CUG<>KNWDV;@WZ M.;_3AG]9<]TP0T(&9<3S63N+22$ :T.1JG3Y,%XZ4F=!BV:2'(9R:Q"B2,9\ M#/H/=SL!E(_::7D(M$UD'FXCG5CQXUHJ/.?,. RY-UP&4=<%D-IL#*(',S1JJL*"]9 M$=VM&;F*F#TC\B9 MXR[J,_N4>H5JK"80Q/P/QE0%0I/BYEP!.8:6,--)KI( M'S4U#Y/KQAIGX8HK."F^A0K=22S:8-6YK@EDO\T "\U^M"2;==9BH&XCJKSM>#W:0<,T[JC,@9^E3$%#]'5P'.TIC"*+V_.<3+MTPU^ MP)..:%5W4V8:'0&T +<#K.:FJS:XHU7#,$U*Q;(TC51ON1/YW2P#J68Y;-N, MNC4YJLF4CDP$$E@Y9>TD*QKT>(R@%RR.BA27@0H6;1GXA])6'_9Z#:V&:+VG M[";4L&FF#6)W 2$%88H)Z%JJJF=S+4G_HD&P]*,$I )!B)@)$'7_L+F'A'V1 M5&H3DXHJ$'W5*@)=CF9Z/6K<3/-WF9'4 M>4/'X=+1 PRB=,$MSQ;!+?U;\%71YSFSB#VR@W:DQIJ73+P#A"9 M]H0L?DQ'T_71% *-F :-\()"](KV!?24 JW%JN"AGD5]'K]FK9DJ)X$&X';8 M6S%*EIIM!:Z:8)0@>&$V(]QU\*SLZK.Y*U-<].=^1P:A!+590(-I5M"#Q M19WWG.]BH^G-)C?5EM=JK^;\$$O6SL_7Q"D&=7US+5.$,-D$2_R3.PT_1?S& M@0\P ?255SGLX%.30^V5Y'U))7GW_W_$6H_!>!/-@71(=SHD)YW#_9E,NI[# MOTI$/3PS*[+"$NH+7J]3?5?5)DWE.4>;%FSJO^;:6Q+NO5S_"!CRTV^((3]= M8\AK#'DU8*JAFR/Y&<^!:?L/M96KUE/PV^V_2FB:LLPP=<24$\XB#II&GR'2 MF.90)"#KQH^F=!-,2[_F,K):39\+%J*9IM_#'S%;@4!D(0J7R^:7G[=GDI[N M[H&)M;GW9 MMU*=[^*TZ20DK*"%O]UHD)?80"ET,Y>7S&<50O!(H#[GL29>G M]WR1IW>1IQ,YU&<7X=]38%V<@*P$ZRCZHG=/S"V?@DLH,[P5YJT.TC!W:@MT MMPO'=%1,'(,!HO2"BE*-+MTY7Y'26Y&4C#M0!3:X6):Q(C"4DEI4F>O*D/HA M& :]A F)]HA9);%L!R9&$I[M6UB)R625=U*JFYILJ5)F)'*@4 M9M1H];FA.<2?!D]X(CF":"/W%A277<-:I.Q>+%)VQZ8@=+Y6;O.56\<[5JIB MVEWI/3/J"*V8FR-1]$$?%2[]I\@)O*UK, I4FUS%6J14L40@0LP1Y/?3%7'M MN)P=5^FV)@W-8E7L.)DVXK QAZ7;&KKCT!!+;.DRX'3\!-8ZD$0YW=69'*J: M@DZ=ZE!&]4I-&@8:9LS6O_62=,F#):U2=5!-']Y7@8XQOY5Q M&5OP,<,^"Y.>5&_2.U"#-4%-<@!H/DKXHB(>]C5&YL4)24(%VNNY6[A!IK;$ MBVI@GV[6]"LI**_ UG^,)%#&;4*J@4Y;5*X5(.J]EPL58/ Y26\B$8[-"T[6 M&G"A>1=S]R:5[IK6(*CX"@)3CI$211I9USH#I<9ZC)W'5&4FF&#I5%"K!!DS M*CM(9B,[QL.H-5M.^VD:3>TXMH9K% T*HSJ&Z-U;A:7?*V0K,]D34)[V.;!@ M$[A6D_1&$,)JHA+-_8!"E="+MG3P#5R>CC)&HDZD;).I#Z1$)E#:54>\_0QJ M<@P$$J.5QVG59#4UT,7KM89 Q?!J\0%=&V1&)I](%8#3054&UZIBH:K0BP./ MM\2;GW2ZD>UYUIZ)566H]LS]6Q<_ GK\[!NBQ\_6 MZ/�X^[=/O>[B+E_A'4 K"/$WCQH#7Z'12,J$M'5G M:AL$GI.;M<6X+<.6[S%?=%KFHI<)+7B5$*ME5K>*]GK/P)ZF7V+4Q6SKKC= M@^J%.#OL+"UPBZ5Z:P:(Q7/]8YW#+OTJ;AB7,/8EGN')B-8D,VY/^=R<7[,D>G(B;HM$RTK^$B8O..J2%0Y-_K@DT=/M *:$@# MX*A7H*B7A6Q 9FL-O5K."FCHP[L*\]9L_WKM;8=5E* 6')@?%-!B MJD.F55LH!5OQ$N*\ASO'BV]K"P2'#NLEM>W+_9RSM\2[& QKYJ [C>UG MI?K-WBFP%@RN(V!^,8G6R]?0HI!5\1*'#>EZY:"910D-]#RA1L\VE'K7,#G; M?@\TT[B0OD@2H/]"MM,;J@5*/CX33NQ"A3.ZVA)4$ M]ESF6E1Q^9E!Y;1(?>NNJ'WVA&0I=EQ6%?]QKNMX)PYT70'-Z.AFP-BQ63+C"\I!E@&9^+2M_.-SU^3?$79^O M<=>'@[NZ_UXVJ2#!1P2V1.BU_Y]?3]^>7F'L%N'5\LA?7.F\-[!Z+UP%KW2Y M=YG^S1KA&_4); /FR>2J?WG%WIT/+LX'QU>GYV>:??-1ZN]S"X,17YQ_.'WW MB;T_'["K7_MLT']W_N_^X-.B\?XMM)R_9_W!X/RL?_[[Y8=/[/B/X\%)_P2F MXN-%_^S2S,4/.@\(Z;_[[>S\CP_]DU_Z'_MG5S@G'^^+['WC:/9;G6*!!NQ0 M1*DY$D4N-5['5X,YV]56[]_$6Y9[:>86^&J5CNXV!Z:;\T>RP=SR3^!)J2F D M[(!>DH@GYM&9]4%G_:)/ZZMWI@-YU3XI24_PA!Q$KL!O'&JXC&!\W95!C.]K M);%[)L\SV=[KEKK[=S9:'R[4IN.;C=T-AC99AA!.,G;?5<8#^[W+@*^Q;A=L M3##U?GKTTT^'A3-;88%06,.24Z09W84WA8U&GSVM*;(BG''?WDNZCW[\6H;A MW;GZSU?/7[S2;$6"9I.-5MF](;NE.PE6G*LYI8D$RS9^7 -\12V_VK;GAT-T MRM\0-)JMT$\45,&'F1";AXPM!7>WY@7^YBBD\!=7P'I1KA?E/5J49@W.CH@) M%Y-RX''U%M4JO;V'CWI%E3&]U6+;=RWW[,>@:SG^%57KU;9>;=_1:INU!7Z5 MJM]?O[RWM='UX9\Y&[4K]>YI@*]<\_T F;!>[>O5_OVO]N9+^F)>97S +;SP MTG1J^Y[)!< :D'X-&2_6&F!Q%UMUTU5::2Y7DRO97;&IJ4>:208V8\*E E(C M"'*X4GIZ^Z]2CUQ3MIX.9?G77KJ()C2^/ B3#'2+>C!JX6AV[JH4O@4 ]J5] M^,N_L7:_2,?,CQ;-T9;-Y>(KJTHUS=(^=--"Y=-UFYE4O_$Y#6F&;(._5Z0Q M4)?=8GE'&;)\/-S<[3'\=^N.?1Q=PCKG!9TJ6NFY>SN@"W"("W;&XQ]F1/KM MKZNI@R_#YZW:K]:NB[GM[SV?&Z[^<'QYM5T%6SL#T%\86'[Q#0/+2P17X0.^ M)/;H\/&DB*.C_P-02P,$% @ 8XA[6'US"%6: P K0L T !E>%\V M-#0V-#DN:'1MU59M;]LV$/[<_(J;!Z0M8-F1Y1?%5@PX:1(,30+#=K&/ RV= M+&(4J9&48^_7[RC9C9LX0X=UZ/K!%G6\N^>Y%_(49387XRA#EHQ/WD266X%C MW/S6[W;[W?,6[4;M6GCRAO9_\CRX18F:64Q@N85%5LH$]0>5(TR5MDR !T&[ MTVMWSCI=Z _][C#HP?0>/&\@E: MC"U7L@&QDA8E:5L46&1*XH54C?%)U*XY1TN5;,'8K:C,I?4,_Q.'_EEA1]5K MRG(NML.W"YZC@0=\A)G*F7P[*EB2<+D:GG$)+9_+D?-:[%WE3*^X',)9L0'G M"RQNK,<$7Y%0\U5&HB9,VJ')F1!>S IS5&W/Y$7L3:@D33"H>?HB$/*U'%]O M,K[D%CI!U%Z.H[;3>?&@(-K%^.1K\R8P_;=I^X9!GLJE*4:?8_DRCK_OG6.- MMB^*=#TL1KM$N.TGJ-I^52\!@F<:Q*:>ELP W7>5W^[YN=_VD%OD#X%=UE5:78 M*K 9 I>QTH6BRY*N,G=;:DPIT3)V6Y5&G?R=PMS2K9J3O8%W#\JT( @"S^_V M_$&_6:_/!V$OK->=3C_T>[MU$'3.![MU+QR<^[MUOQ\&W28PF=3O@R ,^^^! ML&XH )A[8;7W.A-'I+6S[1&30]O =1*7B^OY JX.XB2I*C7%2A(*):E&Q3W3 M<5;7H$-,W7!HDHI@59OM\N72IP2O+5(NF8PY#13SE)<]VR.;8.(,DU+@9R5, M4S=%UC2OC*G)4I]+,G)#12L!:HWZP%=-V1%Z1W$\9CS.#D(!W!2:/*&C 2PA M6X.@"BZKJ.5Q3">\4GG!Y/;TY[#C#T;F'_!88LQ*AY("S46ZQVCW$=GOSOO[ MX_FGYN^J-'+V3-9EGI: M/;X4QE0?F-X^?+I_0B,-]SE[Y$$LVN[SEL9O]9G^%U!+ P04 " !CB'M8 M[I,,/>L< "K= $ $0 &EN='0M,C R,S$R,S$N>'-D[5WK<]LXDO]^5?<_ M\/SE9JN.L>6\QJEDKAP_4KZSQUG;F=F]+UL0"4K84*0"DK:U?_UU@P^1%$B" M).10-JMV)Q;QZ&[T#XU'-X"/__VX<(U[R@/F>Y_V)J\.]@SJ6;[-O-FGO6^W MYO'MR<7%GA&$Q+.)ZWOTTY[G[_WW;__^;Q__PS2_4(]R$E+;F*Z,NWGDV92? M^@MJ_.WSS:5A&@>''R:'QU?&M[L3X_#@\(UY\-H\?&^:OWU\#.P/@36G"V( M!U[P 3Y\VIN'X?+#_O[#P\.KA]>O?#[;/SPXF.S_[>KR5N3=2S);?N2%?)45 M>)QR]U5 K5=SG3T.RO]S%Y2@*:9O<(LP(Y&R*IP$? +'E62"AFY&M^'1), M!7WX6,Y4:N-\UCBI6"!<\@KZD%+(&@7FC)#E9LU)0CES!1]I2B$[4K;#(B-) M^[[=CQ/S65F--IB'G=#*M/&XH;VDRTR.CH[V1>J>0<*0LVD4TG.?+TZI0R(7 MN(F\'Q%QF<.H#=W=I0OJA84,N>20\!D-?R<+&BR)11NA!9;!,$3W9HNEST/# MDQ:MDBVV"9>^14)AD2J+X"\S+6?B)W-R:+Z>O +2>_L*7%3B5\9"4%T@_M/$ M/[O1+MHK)>KY(NF/'ASDC(@2^2R_^*L'X;4I5:*;9L<_VE&5&)9:BAOY]ZD; M!L+6=)=V;?F4I$VSXQ\=I2W9)#61\V8O%CNMIH/L&\9.L8.G!;!GO^W8W&M# MK];>:7[Q5W=\=6CR391U:.^*<:N'TO%+.QZ:9SY5[#25%+^#CA:V.+]3,['Y M,MFO/D8VF].IV=@D._[10P?0?8[VN>_2?8_.<*:NU@-=S@NEL!L>X0 [>5?F M@WB>'XJJQ+?TZW+)/,=//L%'G(]\2&>4-]0QQ SE ^$6TJF?Q^PON;^D/&30 MK7*34E'!G%/GTQ[.>LUT#O(/ETQ?P20IS;)!H#B3$')"$>I>KME+RR+J/NT% MT-@N3:1^ MC+N4O[6^XB6+RE+SMX.# \,T3A-:^3^//=LX$V2-BS79C_LE6AML1 &UK[W? MQ-^E?I$43G+4%2QB3[U<6;_RDLG75*%J>K9\+_!=9@O[/"6N6 @%!$E-,*BL71<"7M\V59@4$%)%R3>J$/B),^)<99P,L)#HK0@]*WO<]^U M*0],^B.":=,VL"$CHPL8;]6!<9MCXS^-,\''" M97R;!W'1<_V$[EF)=NRX0 MO&MA'8"Z<8[47Z[J/3^DYL3T2!AQJFF&4%>G'C4?';U]\Q:G!J@:^!JX7=!>9P3Y-1Q: ;18D'X2AAA-O.8 ]-D7)Q;PA\$XZ*YA'YB,=I3 M\:TH:83#&RD>%@^2UZ1#&S7OB1M1<4((-*:QE M/T145ZM1_6^EZD<;<0[$C3^0N'&5(_["=?W&G/F^_[1('Q)F#" ">,B8\(X%DR\< B\-3F]IQYT2H?["YRG MA9Q8H)L'%LY-*X*Y^@+FQ_V H$I$(QS>2^& !N(F9L4X!U9P9ABS8OP)K!@G M*2LO'!7OS 7YI\]UZ7^S.HV:_E6J:30'5TATU&FBA/=@@ 'YH<][3^^*56G4 MY9%4E]B7+]8$7[@>?S5=F,'T56%6BS[MO3N0:@_[YZ6@]<(5=V3ZX9RB%<2X MD-!T&9DREZ&GN.=$J[9FC0J>2!6,G?8:Z8.I%?2-RS7]%Z[SR8%ITVG8S^!A9,P8-P:*8\&%^!AY>N_C>QADQ.EQ&W MYM!(0C5]G1>5U6I4N7S7:O(F5;EQDQ$7JG[Q7?VM21=+UU]1FFBGH)N>&F^H M7*/>Y=M3$[0 9PD+"0"^YM7_TK7_;JV@*?6 RU!+3Z^L5J/&Y=M4DW=YC7^. MB8\]'97RW@SH3/S6$8A<5Z=&+Q6!Z#;^)&7DDLADF]-1_!X+ZP/%>OC\V0%MZ.B$00;VVZW"2?&Q07\^B/E1;BJ M_YKQDH:IO&1@U <1]8];4B:@$0X;NW<-H4G&+^E?+]W^MPDP,T,R=9\RHBTE MJ!$I.@+;C%_N!%\O'3N5H6A:@-)8NT94M(YW&R&@&)FF PFJ1#0"HFL0W(B+ M5H%J6N#1DI9&E/2,C1O!(HF"T@():8T:%2_?@RR%5XWJ+49(:=%LN3*-2I5O M.:ZCKD9]-@=)Z5"Q0OWZM/ZK?"^Q-A1K!$(AG$J+TDMU:51PQ7YA&J$U*E,> M7*5%J?(Z-2JW(ORN'+8U*EDI!D>/TM5H: 1!1>Q>8[C/B(HZ;ZX>,-16K1$# M%5%^%?[B4?.=_;A:4-&9K$;$5 0)=G(BCWAJYPKLBZ).Q#1B9V-[L*7[<<1+ MW;T6L!(("7-!,N9N6E@Z*5AU K M5'I1U@@@^?9B6R?E"*ONRLT&F/1>)?$?O&(+AAOAA,3!!C@..;-P?B+2$T@\ M(0C[\:D1LO+-TY:0S8VCR8U2_Q7?*W6V%D@,J3>90'%ZBO41XRVP\T#9;(Z8 M(/0=0D@ V(LSG!RO!*3J,T*" 6I@F M^[4MIC0B3[X%7H<\L^#,2I)L@X3Y$L#(3&< M%K#@F"Z]IRX4Q@ 5:%2:W.;)[&0E6(#4EM&KGU&-B);OY] 0(5 M@.P8ER@05'"2"20V]C*!BL[=$>5J47=:!^W6U#3B3>X[4 GV&X?P=DK,F9TL MIQ9+UXNR1BC)G0H*4"I8L"SO:(L4U5MI+[8,JVJZ&D'5.1C9K+%9(Z34+09. MD<@"%_XX/<)?%N%<.)FR21/S$DFIR^YIS0CV=(9.+]L: 2UWD+2UDCC/.Q;B MX1P/?YTDXJUG?A>9>*:0;^P03]@A=J0#/ '@Y0Z=[0!^Q'='?#N1J@L M[0[&UM0T D2^U5X R%7&5>P%1+B,KKY&:['P;1'O5 B4UFHUY!0T@D.^92ZQ M'E=Y3D9 *!S!KD[1@I1^I#5"2+Y)77\PO/;0^(BMPDEOO8<\*BK5B(>*>X?7 MY\C'*:A4)7X40HJ'[RN ]0]#W"; :'5.;1;JL1GM2&G$1,4MQ1DFP!ZL68(1 M1[ D8ML%2Z--*"DPV0 OS29];P;MMBCT<#V :4%/'VHF%=<7YU"3;*^7YJ_ MEXF,%>W-B\=.Z9()O>-*0^4:45%Q3\GF51;C.%.K(DJX)QX1FE+'A\XMTY]> M4"A1U(@4U4M/3.,LXX*CQ3%!WPMW[.@%3/7/5H2<> 7:XY"GZ_B M8ML9 +6SIQ&A%?>\R$;+5 P!T1O@QSA.Q$A.'>?%P"GY62*&<9N*$1<;<:QV M%YC>N7I+8AHQ5O'ZG,(-9.-DOI4.B>OZ5F9%Q,%P25:M47O;84DC^"JNFVD& MGVD<9[R+@^[(NRSW&-G7#A+QFX?^,G9OY2ZH"H)HL=3H5M/)B$9$5FR5JR R M?JOQ.N8M=Y'6\9KC$88=M&\2G-FPH<5V_@:H&?\\K7 ]8C%>@1$WCT@2:PFL=V?UM0U M$=>(N H7@0KBOB5<)M ;S9WJ(^6:UZC*9#3"IL)?4/TV^K@L;?>@N6:,M"2F M$2D5SH&FU]1'O*@^A*X9*_^OWU$1UJE^+KA88:#8VXJ-AGK[R! M?P2%BL)JE+@5@-31TPB6B@WS*K#40VB$CE1MS(8OS&%$]Q4,'>AIA$[%=GP=$&D'U6- ML-G8TV[] M<(I6Y*55;[$X%,G1^-\-O8*&\+OS80?<[0_+C_&-@?R'*)LW#Q M+?GBP6A$,ED_XC?J"GP89!J(.\$^[84\HGL"S0"K\!_0$P.ZG/3OD)OX5 M?+#]!6'>!:2A('M&G'=).?/MNSAO%%\LO[??BOL?$>/43O5_0RW*[I'/]4#H MKC (^9Y"MK*,W0K_S)982YY4N# 'A6SQ 6)]BG8=$J_C2CK<_#Y,H$*R3>U+GWC'H!.1NR1)78YA M0,[SP.**.T"^DI5X12)C7IKT4^#%/#P\'K;3#NX&E-11^#1,3(7AG%X1_IV& M%T$08?O@OR!+72!+L@"Q[L9/W:%!C$:"O>#[MVON86"L>>_0WZO7,&[,"DAP;B/<45KL8_ MN[EI7[>B_:0.TYJTJ_IDSJAS]DBM"&$),UF8PG*01WS/]CR3[T6E=RLZ2,"? ML'!U[=SXL&8.0B$$GI\$F7ZG#W_W^?>2X*JY!P%U?/J3!0%D.Z?T*^46HG8& MW (+0?"5^Q:E=C;75,[=3[9E7+-^168/JA7>4\L=Z2ZI4CW_0)29\INR"$OH M9;PHP)4GP!#@>.E;Q/V"UO@\\NQDZ4WM3:&[53*TE8>>UHEM=H71WTK-/WE, MR#7;/?4$TWC)4_R@QWJ[9MT$#;FV" N;3O6M1]/9R6=B?8=U2\D@5"0.HO?C M-5L7(#&/%L)B)0IACQ0&7<)G%#_A>\\W6%7L"MZN MG;Q+%OL8M3'[G9__?@98L4F]]%VJ&U*SG'+R\%74()>SD-Z=\125FI%[ 0(\IS)R6Q"JM!2M3!V)I MXKMQQ&!6GB-6)0YV7B!E.+D2MU:H=9[!RW9''N.P*^%X"8373-Q$7Q:P+N/ MAO!J(4_(DH7$9?^B]@VLPPFWYC#_.L5GE?WE0J+65B5WIAFNEV+!XLWB7;%* MH3?S[8"(N478#9O-P>!_ WLIY)$(6I][R-V7>3 1PU>EV%0PA&>4DH-+_(J$ MUASTED__ \9!]#:6AO_>]0QBFB"5XHH\LD6TB/U@=2*!+.F1KWB!TM \O2K^ M&5U(K159('SN("\)YN>N_Q"DGW#^E+5)8[9A[O&<^I:8$X+9/H-5>;C*Q2%G MLM7GZ:XZX F@H5VF,Y=:(?<]9MU!KRS.%"O2!KF1FG82$0.1'LD5/:TH4F.V M08B;AWU)I[ MZ$>'"%SGV?Q?*#%KJ"Y@@>L2;7<$$;A54J;@RUS!EXMN'O^,XBMEYX;ZGNP:XTTF>YUR]R"R^8-[M$OU>\ M^J[PJ'4K.A2767Q1\QUY+%[!?(JQ?O8I:,ZFH$SN+P 1E,T\C'EF-B,\!Y:> M=0P6%!5RQ9=9!Q@E$:[WH_P@ +U#YO@!HA/"^0K&NP?"[::&ZE3AX(*R\\W& M<7?NE,;_@H&P+!K/J4!&20=QS6L"/74>C- J]F7^'9$X? ME<=91FV.0>2I@Y0ECO_.IK:W8'S)$D:JHDR-N88I&W/HK<4HP+J$.6G* M(&6XNL.HW"+WI6_#Y)MX@<.H6SI/MOEYF-P+[F!2GM]1C/@?&R4QR8D0I MYS!E#"\)+''L8W.=EZEQY'CV52SCTXAP)R'LA8 M#_*R5>;8(7F.DR+-N MF&N8=@&OAP>'DXJC<;4Y!FDDKND" \YF4!2FE!@>PH+8%>R7_ Q*.0>Q[54, M ;FA6&GZZX[R1291<[Z?%RA0K3%\Y?PJ(%Z:>LP"=RX]OZ'>!$LR";0M=X6!>Y5P]#;9"J1J%+\VLR[*&FBNPOO;@[& M].^4E)?%/.H@>Q58E!6.RMC"6)/PEK(-D6&MNTC ME1SG;.Z?/O^.#A#[GS#O$>=K/-#G/?.C?,2JK!7:%=^)%L%=39P&8D :Y2L, M9P(91)PJ[GH[7P!\LJ90+#>T-JBQ 2!;$!2#'LXB[B]IN>LW9QRHE9,P?C>G MH"Z8NT"CVAM&3KW KDC<*.&P)6H[4N_ZR%PUJSR.9F!\#]_@?6HJ$E>4&,3( M+#B.K##BL8=>+"7B/ P2:A&U1>[-'0G#727?H/ ME-]@#?V;4Y7,,V[.;\OE4S1G@(Z VJ?$\;Q?N_^G;@+Q>?7 M[HFL9X]+BJO9.S^)_,^M%F(??N_V;D.I1U2#\!/4F4R5P^R=A<23(\BYV,%? MGTO7-2UJK'Z8!YUO_0CZ%@G"XX"1[&14:=I8ZP'AI8(.?'@P>5,21YHT MC+D_LK9^F%IZ#+@ASV#V1:+E,OY&W/3L/QZ0C\_'7](@H+1B7Z1+R:'NBV X M"T:+%2&X\760?0C:EP2Y41C/R/"ES_'&LK(\"CF'*>.'$S^5RK/1L)0)3A>3#EU7:D0LK2ARL$7Q$W[MMM)KD@>F3:>AZ8A;C$V8MZ(3C-' ]!WQV&X(]C'.DKT:%TNN MM\K!';!H%,]?;SB8;NP)10'CO<+6C:5:V^ZU4XC\JC=$EGV'))V83!S)!^8? M*3YG&-_"B#_39ZKQZ4-W?26C.CYZU;V[;4@)QV,6@3FE,(C3X MU<05$+#<$_# )2V @[BK@,4HX84+(]# T&0?5=2,IW16<;'.3;P%#G97'^L? M0DPOH ]CSIM!H@N5>YNBZF.%E7%=DCRU_ %UDQB=]ZT&H["*)%\G4;V&VF]7S:6'5,4JWF^;1,E-SIET!#N[5LKG^' MVO*]&="9^,W6EV^;XEPF3BI8BI;-.5.:/^C)/E M' V\"=:>]&W#MD1VOE4]&L+B[)YZ$34=[B^@[Q''$0LU[)KIG1M]V[4]F9UO M6=FWGJU87^7.MYCJ@-M0>H?:X5?S1T1X2+F[@F%P_=B:Z:37]ICPFV!OB6R& M"6KYE7&V?0:>M394$=NCYMUIOT,3U@,+PE=B"X'-/)B+6 12B27BC]''L<1S MG[A9'20GRX2W@P3S^#]T?4PRV39,#TK&Z:JX?E)6GJF&%+'=KI@6G%YXIAX#?# M.@H[QD20* ,RPTD(<>H8@CR^:4 MH)>HOS[ZTGT.;:]HM!4JV)W6>&/.DDL&Q$#-LF/YZ1H^UU&SG*IPZUGY\VQ% M-'=$G"9#4X>_+'Q? #M59@"99^-C@R!8O)^R6>$V5*";LY>LO^'HZT7H)XF; M@];@(?M7-S>O)B+/J%6W".,7@DO%*85Z/;O3-F^+>]96\KH(K+E8.,_O6K. MS&:QJ>RCB MHZ+0[DC]J^F*I^OC?P#@08L1K:'PSK;"PK?%!EF[L!?%2G:P54I'+X1X7;:^ M.E2X@ZVE:#HV\^^.K$>FC[>3F,GS9P7=5:>HPJ1O[<^C'15AI%3%3K1(YC9C M+!\4Z D7L,W2/VJ;4+V.)VN3 MC_O8)*C>SK1)) '@/HOEOF$!_/CS MRS0Z>&*)Y"+^<'C\YNWA 8L#$?+X\*G+#P8S0\>)EDCH^?G MYS\8GW[OC-BPP/@>L'!P7K$A&Q.S8^4']_O;M:>R:/4R;3-X&8PI@G M[X[AOR/5[@AH3MF4Q:D7BY1YWWL1@Z=(;^JG6<)3#O\4X^)+H,$?\:CX,F2I MSR,)8/-G3Q(V_G (3TF]Q?B*O'_V-'PZGX&423Z=1>SPJ((Y\*,@BW(>7\/G MLKE"YA1^01][21F(>SDI"Q(C$:PQ29$E%\(Y]N4HG^E,>H^^/\O).V)1*A?? MY/S,>5E^\=LUDY*QFYEZS>"=O%;$79>TS6_]N8(CSS.V("[R1RSZ<-BV>X$M M4I(LDI+Y@V,[':D;'$DL^DT']/C8#X7_<>)F':P,Z)7U0VD MHEAQ_$I8H9%_+!M.7A,;-E\-+!/>O2(FM'\COGE-7-@R?U@N_.N5<,'LY*VX M\>-174#58=+G0Z&UW M&HPX;KW?W6$HHLYWW;LI^IUG4AYV[WC;^I!.'.D^T9)R$+[S>/P$GT2B+&+U MW^W\ ?1XKLR_)4&.K/U52<4:]P<>TOO/:$FQ@NR)%%?5E>H];^T M\Z1Z>98K+ZM'8G$>V#;[U#>_G;,Q@^>$GQ(_3G.5P$)Y5CQZPSR@VSLU@*=! MD&0LO(J!Y>S!?V$:ZM'MG5+_,9,\!BU\)J8C'N?2!7I)I4N!HEQ#A7GZ5 E= MF3DUP^L^H&.'#!0UO#"W_MP?167^C5]-T)N4HW)CY8=IY.SC*9@M98OHOS+R(.]*%< MY\%Z +10 Y>@42[@11!SQNY3$?QQFZELC62WD1_?3_RD7F1:=.^9Z$NP49%* MJ(&!.@U_!Z:I-^PFODW8$Q>9/ W^EW')4XT,=1RJ9S!*<&_&G_U@ B8XF9_& MX04\B,)FC![(SR=7;3L)X86;L5B6%A!LS&.N[#[.5TW*HJ/3 M9S\)S[D,1 8?INK/.E0]#TTTKU#!(\\FZI^@QW+";\9-CM=QYR1$+T]WRMDS ML)OJ?R753R#K0/@=F.&$!V!CU0\@\>M?5%K>LH2+<%OQ!E&F-J]=O 0Y#^[ M4%^,QRS0A:_#$.&4SPMOL>() RCX^PR^Y*ENG0[;S3&66<("GHLO_#MBN>C' M(4AZDO(__1KKT*:K4TR%:-R,J^)R$W<2S*4(@@*=">E'GQ*1S:!'KE"5,@#G MJJPG!8V@X1@=PIS.QZ5((-"+BW@JF#^ 7I7@R@$]RN)>"RD_LC&T@5=!P[@6 M(SA%N*#B)BY\#/ Z@.7I7/EXZ=+)T("SZ^PX!UX31R@3*,OTCC8=CNQ'!,T= M"QB\46T ;7<='M-&FJ;%7)E'&!BA,19$HT2-,C#21>!XQR*5)ZEDLM PFX<8 M&./5JHP/#:JFS\ H-'M)T(@:^@^-3N51RWQH&R%LZ$\!W2J'="HETSKQEKUI M(6L]=<8A!L9XF["9S\-%='7QHO(A##S@8K'-;C)M!ANH/#3A*3L7S[JH3-_0 M*;U?6*HB%?!EGWC(PH_SKU)Y%"J1& ^Y-)$NT'H(!/<5^F'? 9!J" M;VFFVN(S#. :7^'?JLA+#V&[C=M*DB)U"^%O4\81+WB]C#D$%V3IPCX(B$F4 MUSX1D&%)P.'MQT R]7.*IKI#$;$!O:FY4]JM]'=[[3Q@O+@V_IBT ?62\L.[[;1W8@,KI8_-_O(_ZFI4TL^/?["%Z[M(1VJ^C[DX;$ M%AHE?>^Q_5HHF@ET?^'ZIF'PW?Q>Z, M=4AHY-^21XY)DJ#A?D<>;NLB)C0/OB?+@]WM"$ SYSU9YG2L24$G@^@[?4V% M 6BH^^CY613[H?EP0C^\:5TWC6;"OCJ!QHV06/1O!Y0 T^)\]72%_E;[6ZPK M$.>*S MK*DB\5H6+^R!VFL!'%%;LP<:KP%XMV,(]D'+86>^EX*_%CIO9_P8:).UZ.23 MDU.D9+G8FRON0BN3Y6+C5@%**GYX+E+;G+Z:'3>W*QU[/,\5>ZE*%GMA60RA M/GI^7@+@^7'8PV' /3S)V7U+?9':RT' 8+:+6HQ*:'8FY%;IL5VG'D[ZV7K6 MF3_CJ1_Q/YEZ.1B(LGI/SMD3BT1=L7['478!87VI$,=B39]^R:ODZN^44KX9 M@[JOW>;7HN>PY\@T[\_$=!D$PU(&U"GOSSR*0%*OXA0,"1]%]=/398B!,2;Z M36/FQL/2O5P"PM*^U6%8^BO"KK^9!MEK6"06Y).A>:7=0:#/_"29CT6BEI#1 MKT+S" ,C5$O":##5QL/2O=P)TFI6S+T'1[91E;Q6WA"''UG,QCR5B]S6XK,% M^&X/H,:?Q=TJJL:O.$I=GD:1>%;ISDN1G(MLE(ZS:%$'U9Y/+1^T!_Q:'$7? M<.]6OX,/RY?_^%%62/QB"K&@]3V'0E2Q]P9/TMXY[38N 6X@S9NN!P$$MIO? M6XY"HY3H;D;72S*LQ?(EQ0GM MP:7 MK'V$1#$>Z 9\3T*#;B!;9R\HQA%-K&B]"$RJQAF[J&4Z-*K[=OJ'[% MS'$IT8F7(TWFZC([=9$['_, %*GG%\X=^ />3$0\4.4R,IBP,(O8\N*[_ ^V M*J+*"VR298E5\7N[RB/WA+DJ5!H*&:ZNJ9>;G4!;;Y37G1:A(F!3'HHN8V_5 M=W_NJS*@[3RFXW,;J]1H8-4WHIFG[F<*1"<)IF32>N>'21@&KIIE?A+#C$AO ME.\KWJP>[:-.S3B'?\B4 M!QK-U,.(KB^0L*7WXB5-?% 8/ 8'XPKF7:K#X=2) B("TAX75Y[WQR';)U+G M8'D.07\,VAB0IB%T,?%B!V\B)>-)GX>UHCBT&<[W\O"G_+,'E#,(:?QH+ODB MM@%^!!!6%^R'.(B]S%BPN(H]4TO(1;>>;/:NZ!G,P.\64->;[@O9O%LCXIP! MGO"3-6)UE7EUNJ)Z2; MZF)W,_@ %]Z"-*Y@@&BM0[D,.:^]4+S;(.1P?N)1VAUHS2@#^%A 6KEZ7-9C M&1TH;>MA*%]GZ.)0_O:5I_T-3($?I:Y<$\%S#I*ICJ/C?F3'!.QH%)!KA/4T MO63J3*KH?F$?U]#8\:/;,RAP"5Q6L/\9Z*E1Q$H4=CPPC4 58?TY'*I,J#OV MYK$I<"5?@%Y^!<&*BE_LP!N'H(!1O7WJ=H%KH"*J1%)V,)M&H8#T8>N*'ARV M[7Z4,QQZQV,KLFZAI4C5$'4'K)M:2F4FNYE6K *F5&72G1,(;4RI5MT"<*S=0?<17J-9XFZ5J0M+6J>AW*T4 ;E21#Q49V!Z(S]2M'ARPBJ5K\W+.XA! M'*S)H*EP5%:Q<:O,V?HEDALQG[FQT[!U^Z8W=98BBGI3%]<8ZFYU:D2!Z#0$ MCHV+"5 PS'U?G3K\_ J+C=OZQ"96[NEW'08R( G>I2;X,W:H*Z- M4RH_HB_L-MRYO(&JES&=U[6_PFK]U4GY1@":9HYI-5SW9'Z);+K2P=3X%K6Z M]WRH*VL6-70_IV@6NT,U1&_^['B9;7U[*LSXQ4MYQG@# MW39='6,JS^S1RWM=$ZNJ.LRKL#7%$]Y$&X\!;>Y@UOZ&P]6'OH;+>AL)@5(!&-5[WVJ8%@?;&3NG^[ <3 M<.:3>346-^F1Y@Y.Z=?) --#H%3$VRXU% M3\>(-/EEDTW#=:*!0Q^38+J\AG,4=DSG=JZO40_9#^ 87^J#RQ9>E'O@UY9L MQCS0[F+!=W2*!QV+$8F^\O(3U$*TH:5;BM5U=5DRSQE8Y(]-YJRI.-^=TNNK1X=(2]&S M];4BND_FO-[9LEWMI&?=ZW!A5_XI;2\RO"_X)#2E'4-Z0-U$R\6M%7K:\0DM M2J;&D$ROQI;614V4# X.HT4M-"4CA -G62I$R4A9S1ZJ()^2J<*ALUD"IF2Z MT'/7N*&%DOW"H6K,CE(R:SA(C>4K+?:C#OUF85:4B1IL:TN]#]%A S[L(CI1 M$]WT5G6%X]@@U\'I<;\%44-=.XD]J1#'5MG"V>@Z24[NN3&LH59-,VH%D))6 MQ.&R70&GI"1Q"#MM7J2D1'%PS9NA**E'Y/1A=FI24I4X6(T%OR#.\IR-IN%RIX6A79"^W2-1RM,K3:0OY:EI0OZ#D MKRM>7LWQXP7;FHY,KFWEE%+P<5=BHZ&SMLTP>VM*5NDHU;8;AMI&SAI:NM^% M F^^6*?'++ZX3JZKVADX6ZJDY1S,;"3RI5,S#%0?QRAR#V&AQ#<3L<#FHH1" MK2+#?Z'^E)X.([FM;F>YM3%/5'VC3G76NTLAU7D? N4*4HJ"&E!T%B]*$:W> M=HB6KC"EF42A,[UAE+)\*# 6>IVD&-:X! (1W;00NMUI0228!K>-TO0XO@G0 MQL>BI&Y>MC<-(8V9WGJK:7.AI->$3W^REC59U1J6%?>4E%4=P3S MA\2/)81-Q8:C_%.I9,+?(8HJ"[]S9M^JS4CP0YHF?)2EJB#P0=SZ34>%N*:! M!)?5M*L]39>1>/XW"Q_9)Y_'^8T8XS2_!R?RI>1C'O@+U("M#2N[/XCF/G', M2R]0[QLEK]02U:XGG5)(W1-K'*@6=XY,?N?VB9>S+YDK0RX!6SZQ\*M?U)N# M)?=F8/<#SJ173!/8?_\)/-)'IBS_%/@NU:5CLN4UYCNDP(%;Y :"(^\)A#S) M8?E16525T[0NM*L;YF[]N6I\FB3J6I;<'=0O7O8TL%/[^TLY5:?%3'W)IB.6 MW(S/>93!MP6&FRP%:8A5'E@#ON4H%)!N$0?3PP,[G.8Q:/H';:=,[$[D*3D: M/;"G@[ XMI#'QQ[/C;^7JHQ+Y8/'BH2$-RHR$BT-8/L'N+)O72ET%?P7E??E M_6C8PAID+[?7$)0T%>ZF+9*&7D,@L:MUPG4: L?:3826<'!]![D4HA1^NUFR MZSP,KHU+4^UPH3H/>XF'%2"*2.JO]K2"93/$ZRSP'#"1AM/4HJ61HN3TMH>* M\BQ(9FJ MFIC>.^1;CO=DICRVJVKW?NF 24A")T6H0-).]:_? "G)LDV "R0(+BH1T5UI M20"X/A!86'?\Q__\LDZ_>:0B9SS[VU_>_=MW?_F&9C%/6+;\VU]^NXMF=^?7 MUW_Y)B](EI"49_1O?\GX7_[G__A__Y__^/^BZ#W-J" %3;YYV'YSORJSA(H+ MOJ;?_.^SVP_?1-]\]_V_O_M^]O&;W^[/O_G^N^]_C+[[(?K^YRCZ'_^1LNSS MOZO_/)"N_ M[)JK7Y/BT.&X\4_?UC\>FKX9^NF'JNV[7W_]]=OJUT/3G#4UE(.^^_9_?_QP M%Z_HFD0L4S,2*UIR]N]Y]>4''I.BFL96"-]H6ZA/T;Y9I+Z*WGT?_?#NW[[D MR5_DK'_S33UU1,2"I_26+K[9_?G;[?7;N6!9\6W"UM_NVGQ+TE227(VP$G2A M)74_@8J"G]2S__^CGL5V(Y=!SM:;E/[EV_Y$)7Q-6!:MZ?J!BH[D-8[AG%"V MIIG:*5']N*ZT:H9Q3>Y*CB?B\H%&AR=VI-@PTH!S3!>D3(O^D_QR'"W!>VI? MDZJ>):FD>?%O,5_+IWW_PSOYOV\KF>?T.0M4'NB1I_>S9 M%Y8W$*9IT9FF!46S1PRN"_]YOCZO]AKC.%ERL*_'A0*(&C%UGK[CN]HQ LA%Z M+?]\O83:&XY#[SUY2&D;K2\:F>A\9J+3R$8U1!,+XFV,W"\0@\BD>5TOUQ<' M,%P@HG?.7\W+$ZG3NVD^UOHBVGW)I:CRI;A,JWF5(@]=JC^L$1_I/%VVF(ES M>-Y5[5P#P@]XOU/H&?-_?-L@=[H6Q;^/4K45?(UZLJ(CB4@CU93G)33U72^WHJV<6<5XOOS9)=9B'!%4C".5! M* ]">1#*@U >A/)C;$.>MWZE]Y\CECW*3UQ($BW%]<:^GN1SP[.#0!X$\I,6 M-*]W*W_;0)@& J1+$):#L!R$Y2 L!V$Y",LNA67XV>-7]/TI$E125M)(P5/Q MQA6$/'IBQ2J*R[S@:RILA6++43V)RYVH"H)T$*1/6I"^K??$E=P2Y[L=\8?< M#^>[[= F5-MV#P)V$+"#@!T$["!@!P';I8#=[1SR)FPG/"ZK/TB61+1:=A%[ M#OF&R]? @887J:T(&42*GLG')XJ$JY0L&^3#QM\'E%AG*AV3BRLFUM=)$SU- MOP]/SSZQ7D_1ZQ;#T_2)K%^+-YI?!Z3E7)T*@I)SGC01T_3SD-34#K$KR?9( M^G=*Q&667,C-UD192],!J;S8[?I9EI4DO:4;+EXK.FW-/%!WQ;*[8EU<"L'% M.9>3%:OEK6$3\$Y>*%?O](8*QI,K^5V3WMO:UAN=:NW!J'S3T@.-1RE5.OT/ MVMPOM4W:'Z2I!RKKU:9G3<9V'NB[%T2J!&IF6GF3KJD/*N4C3)0=_3RXW6^6 M)(+F^>X?M?+?:8V AK:^Z%2G\ES<\R>]J5+;TA>--UR*R>G_81N-9-'>V!>E ME48X%S>"/[*Z'I.15DWSP:D]ITJC2Z^E"O'EO^A62Z:FW?#T\?6:2^E!ZI=W M*R)G:EX65BY(U!Y0/5F^X\3B'-,?AH\!%C4>/2?W8RS45 M2_EJW@O^5*SD(MN03+]CC*T'I_6*I?13>6P#>D/@VR9>J!+GDM,MN=#/7&.K MP6F[SF(NY.:KA+^*'9^K($RQ-1XUH%X>:"^HLLNQ1RJE0K+C)0:B3QHG_GJ60?1-1,4#^;FG:#T_>' M7%__E4G)_XZ2G&T'I/IB:#4C= MO2!*[[G;KA]XVD!6X^^CQ3Q\-3$!(*MCB SH\J8&C@S0O+D/3?$!<-NRY]>H MCQ*PA0>P#P&Q?8\4FTG@!T+[ 1TT@PL?B.E'=)A@WEL@O)_0P0-Z)X'X_HH< MG\:O"43W,UIT;UU00$B_H(6DCT4 0OL5+32#MQ5Z8@\?V-=Y*1K]M%!\6$42 MG7T;B@NK.&)A>6%CCH"#QR2M US\4(#Z)!10U (6'3V"!>_"A&/&) M+="("BA"?%*,/AH5B@F?^&*VS4+U<7R2B]FZ"\6%3V(Q&&&AH/")*^T&;R@V MK/()R+L%!8E5/C&Z&J'@L,HFD+ K*$:L @HDW .*$:N 8H@9@D+#)YFT!DY MH>$34, Q^!(L4GRK1%5T&1815DM.%V4&!8A1=X M*#@4*3Y)QI#]"@6%3W31)JQ"(>&35(PYP<^P!LZ7?W'Q[0-)U6WA4;ZBM,BC M#5&2X8H6+":I16DJ^S&'SZ+O2E,H2S52DL4TRE+-TI0_J;5TQ<4%+Q^*19GN MZS7?TIBR1Q7;TQR!WVL,KRB/CLT;(N:B,FXGOY.TI#=45">I!IM%S[$0U8+ MK"Q67+!_T=<%)2QZC(N@,C:!J7_9VBOE-W(8*A=STF5!V74>$1=P6<$ZC8[# MN+C:.XQ.OSY/U+)7**OGOZR>DCV4%L^,L1=Q#.H"0W]#.9!AK=Z@XD(9NY3-G._7:?JFW_,BF)%/Q+QF1:* MFRA!]8ZDDG4N!:W6S\<76WM'4Y>N#HB](K&ZVW![G=W0C&3+CR0EVYP1/8VP M'EX-#]._Q>*#9-5T7_B[).D]%>N&A0MM/CKMC?P WF&J]#OC<%UP?*J.H_EB M_N8P>D6_OJ%?LZ;D;/-%)9VH (3YHLJ4(U58DW'^X1U/!<^HZRJ8RP>BLWS( M6<*(E-"?%X"!Z;>V'\U<'N[0F88[P P$OLYX=UZ,$7"K-,7M99?)^7GL1$O/ MK[&=P0#>"^^@P*!R;KE=K\-<:N@6>CN@6K@4#Y7VL!"A7LN.CIM>2=N3S M"R[W<$_="=]3UV8[\.M-^#[*R_5:L@]EA,_9,JMJF*A+W>IP )8MHPU/6/ _=20O^B*_0'W%&LL_O2Z)**U(ZS_972LX5I[F@&YXS@T?"NK,# M@JL:-HM;'J_D=J!BEB5UV9?%)_KT=RX^ZZFUZ]G?VI.+XLC2(S\]OW7YX1]5 MR2@J-D046R6R-+SZMF:#T_B1?&'KWMV&V5T4XIX)77A@Y+T>M!O9!XNA_R:YV!<+^*S MGC([J"DW.RWES?7FKUU?5IV#=]2_=W1L*VKP+Z+W+S9+R;Q%7,6&P*BL\5X2 M(R:H#J4./L0)/EG_JBLQ#ITAVF\5;[ M%:HU##VS,:RL'F]#;^.P]Z/;G\YE2A[;41'N< A!"*$ M0)QP"$078Y3?L(@?H@5A(GI4Z<@2N4*MMA_H(TT->\*N\UBX/CZ?$%>"_EG2+&[B2QUZCH/H>0FU.LI ?<9!<9UM MRB*O%LD/1A M":EXP5@)H*M73.]I)BK*C857/\P,B#2MYDU!PF!>H3XH1"G%"( M$T('!&R X?;F#HPX(6<@[W3<8$1K:4+@3N1RY!/1:G9HF06C3CG92"EKNPPZ MQY+-NVI;Z$:M!94W=/@%CB':9)B%#K:J3F*MMW/GIEEH,_MA7^Q#'FLG4N'" MSL>&;JT#I$W>21=%N;3=R.$G$IAD;;A"MWAA^L,1U [V1I3KV*6>U6LU.[J/ M(H39A3"[$PZSLW!E^XVN^S%:[((M3P_6(!.V0*D*=(L-Q;)KS.Y/VNT4L"![/]L#>88,$VBWL;']\=2OJ_N7**4DM[YM^74W3X[MYL<& M?_97Z,^>E?(@XP\LI1_4DKCBXG>64)[RY5;OS@9WU=4_._1,' MD_.FK7MRFJN# 5HZ(.4R>V2"9XK+D/2>QJM,+0A&I2CXGHHUR0P+RK:O W*O M2*PRTK=R\<[BN%2/B^=2AJI.F.OLG*1LP47&B)[JCD/X(#XC21_"WW9W0'3- M*W:/OL[N6+8D4D,P[&=8#P>DW0@>TSQ_N?(N2\$W!NK G88B\'ZE# ,K*E*2 M)8:M;]W9 <%WO)2#D[R8Y8P1DA[KWZIF1 JUKE29F=9\HEGY/F;>_E7 M+D552:*Y(&/'44X?:4A;ZX6@XHQ2*:HH*-69*=:&,)JVYJ/3;@S6:.\P5?I' MW04?Y)E Z8[79LM:+&R+8H)U"A$/_B,>G-.IG$GSQ1%?-S 88]L0IQ'B-!RX M^,UKC#L2NC B;SV^N?UA.=EP!I@L@\[@#7@OO)+4K!&%.#5/<6HVYG&_$6KOOI-+Z^% -#! [54O3_%IC4\-X6E?8WC: MNGKG'SC)9DM!JS5BB'%J;>V I(_W9R1KSL?6_N[@L?.XX')$^<,[P$RTMW92 M"T>L/\G]:JI[T]3";T:]H DK]A*2J=2$MN&(])J+&!B:3HGF<6-!Y$$#+^+1 MTMH[Y<\9-X:5K6\X(KTJF\:X4MJ:3Y'V$/74+V)%JA7S!9BCMS4?G?8/2EQI M+AAFV^T4L(P;#<6S9:%,+'+KMA2E,C4=E6;S[!L;3XWN4=?*+7WDZ:/4[U^N M96-\+*A/B)L+E8)"!!HZ( !!FML*KACQ&40E;J-V8L1F/+2YW3&)$E^;L,N[ M"I63C11LTWOQ.1O:. >W-.^A\H2YX:(80HE<1K."=%1T*Q7,07BK51SE&G7) M34^D>!%<^\6W6LUG.@=X*W"NTEXRS8F4+8+Z;]"M2J,X?H+K9YH&YR#^!O$7J_@+/WL\R\ _ M1'DA:7@@WU\?8]A7%1\E=N(;ZFIZJRFB8.' M7\L]LU$;)Y/:O:"Q',A 1WMK%YDAU8#Y?'&_HGS2VD MAP8B0-2W=QR>T-ULJ9Q[0>G?*3&MY[YC.2E)2W.F-M1\H2U89*I):]O; 6DKJKZL M'G)=W1LA#T?U-$.B&JR+ ^)V[Z'BE_/L:!]_I.IU&5:@7<_^]IF6J\_AH@JP M]> 4?R1?V+I<:VEL_'UXJJ3B8:2JZ??!J3KP9RU=FA:#4W:K:A,U".R-O_FA M1CM'#;_BHL2*62(F5Q]LB2DJ2:MVALYY_*/UBQNJ5II;_G*[:Y MYP9]ML<(IX=LU"2=V1,124LF5V.;D?QA\\7YD:&HFE2:G/.\R.]61-0*U@W9 M5G7:6M.4W8P:/(-6"/;&CDJ*G&^T%UZ VWNE7DF[*G;)L%V:FHQ"HS%AL+D1 M=CI'3FALMYF VOKU"A\XV#&/.ZYG>;9]P^4JEO_,][,$]*Z&?%28,_BC1MTE M&D 5L1)4O-+>3M=CA! 7<@)7:>Q,-X:CM:'%&!0:-W1C&]Q4VO"+$ T4HH%: M@#3;F'B+L0<3 K/FRWU*/!BGI8D-Q\@WT8W=8:],#FUE9+E+MS M%*EG(IO->N>[6=7NW$9U6;MHHDCWXBM;[!S>)_?@[*_IM MB!8=RJ%%I:[A MZ6@FJN?1TQI>Z/>XZ;_NW83K U'C*0MC",E$<[SJ+/>\-?H6U;$)]4P@/RK; MWH8^0AL-2W# ^\#!\GXYPL"Z1N]D1N!L#']%IXO9L$T+1+,4>HF"[>E):%ZR M_='?*T<2B'OX2UE=+.ZNV7]^7WZH#!(J@YQP91"G20+/D^&E>,B/=8&-2-!- M*>*5)+"JK'%XA]"R(6WC^"H8 J,CE KY"DN%5&+"[6%=*'%#E_X#;A\2>T)8 M="B7AR? ;4(!LD$H#D+Q"0K%ED>G9W'WIXCNHBUV=:^DR)'%&&1W>*TCJ(8D])+$'+2UH:4%+^XKSPT*V ME"$"&R3EH-*IIYLM%:R4<5W7Q^;>/X,GS MZ @FCZ_0Y'&_HC]^]^Z_6FL6-S=R0\!L_2!HFK;2H&T73!=VZG9]"L^R9%ZL MJ+CADA9:,%&QC+.:0>3P.\?Z#N>Y_MR>,H !Q]QX9+J-QI*VYE.D/9A\@LDG MF'PF8_)I89[BYY!10\J>E#1IZF^!ODYR,]8Y6?K(\BSJ/QKE)/P?1- 5+W-5 MUZRNT'*W(7'S93CP#EX%O[,REXP[SV?QGR7+:Z:K_A34[!@#]SL--*/Z^YJH MTSN*6UH'U=0*P0=*8*OW!7S^^,< ] MG0>)\%()A.8[Z$QMQZ3Z=5U^,]UOJOB/3+EQ.[:VGR;UX_*2EU2UWHG@X.=.SU4&,SI;9OOKT$,>/ MO &&4+G8C1B"J!RN5I 1 -UJA9\,'&3<0[E:79Z4O58MGHND[*PGZ)8MX.SC M]@9@E(O7C4C0:]GBN4TI>*6M$06OM"^O-$SO]^:+SN,53ZO;X3T>C>37=SM*4/ZD;,:ZX.)>3SXH//,^-7@M(E^#0M4*PNU(G6SYO M#;4=Y'&>7&>/DK%7:0_;\Y3D^7S1T-K@K'$Z-KY9T=-M=*0X'3O,RO'8P:U] M@F[MY]-LS_US>:[=TIP*N2Z,B\JFZREA&G4?F EL\>_;=0[.VN"L=>#8HSS9[EI>1\&/5F'Z0#",#JCG-OUSMTI\:@LS]-@.R?F >XB6*#;7U;L MDG>QFZ#<*,.>+R?B- [>-VM$P?LVL/?-J5G:GV^.+3.V8#&1?^^<4LH_M>$I MBQG-#W]8N.4L1_3@D>M$47#&?87.N#.2,RDHJMNZY62 MRF_4E[(3?% M59DE.T6#)C59 (S#/<7!%+SG/'EB:7HM9S];,J4_*%JRY0?U]%F>TP+R'GL, MXP"$%-WDF187I5!'QZY&U_F*B"5H$7;H[MF#%-SL&W.).;.\P2FKN.5\_ M2,52;?+=O&KH;^_@E?YSDJ_DLE#_7/Y92G4XI97!04XIB]5UZ(V_&Q&Z&-*O M3YL*244A=W/+CH)W\$K_)1&9W _Y#175Q?4P$,!>?OVMA DE--./E"C!N"H6 M"CB+.O?WBXX+*J70\U((FDEBY(&82[ZE.(#<#]7'])@AM*+M.YY7]->9%,_I M/?D" ]?6W#/M*H:2"^ R;&ON.8E>2BBTBL4&KBM #Z\(/M&GHU-?\$S^&5=[ M.[=A#EV'\8KU%0TMPE!+:[^4"\:%/$P83Z2 KVSME;I=J3W)/\O:!G]!\UBP MS7&)T]>0.@[C&2O?4%%L57WJ0O):)<=LG@^;UDM*++M[Q?;L%@&RB_8.GNG/ M*1&Q$C$OZ"-->36SEU\V-,NI47"UZ.D9D3Q.RLJCM:QM8= 7 ^SG-PI+"9MG M\FQ)I JDIK;:V_/-SCXBSWTYZ5*T5IO#K&CT&"G$R9U G-SK%!<;8<"J[^2C MKD!R J9 FPE%7 5/9O!D3LF3V<8+N+VM%1U& .'>(H>X'(,P?D<'LY_,"@OX)&6CWCA?@1/P5Z41 +1) F#\CA=G1 MVP%$_0LRU&Y\\4#POR(#W]&D Y5-L$EF=HX4*$J\(E@7#E6 MCR<,G_7@AL*0!?$59D$\IS$I@]$KHU&=4WAD5ZH\'\9(=!?C^74O'PC^0Q[D M*TG8[)$*LJ2?2L5)I52K.'UN1.YDK!"L< +!"J!E8O_^)Q%^8((5H@Y"U$&( M.CCYJ ,-"^#.A0-T[G@])2Q]ZY:Y-Y=DOC4J@HA2H*"9S=UF4LM*A_R_B#JDZC]M9U MMBD+Y=S,8MFKLHZZG!3;1P7%*RA>0?$*BE=0O(+B=7J*ET.Q8H)*U_!R@U^= M[,=HN8N-JZZ988< N8A447'=5#/+43UI:)VH"HK:*2MJ[4ZLE5PC-+_.]B&D M5AXK6&>G!!^%N%:+VH9>6-^1O&E7BA/0*F#7"J.#D49"?)WM^)\3U)U&&P4Y M-[VAJ[*09^ULS47!_E6=H[M@,*OIYQ)/H5HG^.V*XV1N?$1=,0G@3B M=A*"V!O$7J"/;5KO#;[53T*__^ M$J55Y;!NHJ^FMR>IU_CT(/">LL"KB_HK-YN:AY%4);A>I?SI.EO(*:C67%4I M#Q#_UWD4K_)75?+OG.>> O.$ M @*=BLM W#BKUO65DSW;3GZ(\D+2\$#D!$:RN5J;%8W1)B591UN*U:"^;"L= MB JVEF!K,6@"GWCV*-<>/;K#\DXML?I2QYGB M"LL3Y#C65CD!N6;RF]H^*1 MQ;2B]$QMKO.CO35+*[IVE79BOLS8OVAR0P7CB17[WR^ M47_:K1]W X\^'S=DJ[CV[(F(Y)AL=:5/_8[SO%S7WW6>F_X/";:<8,L)MIQ@ MRPFVG&#+^1IL.8.*7Y.V\KB7*B9M^'$C@$[0!M1?A_-L^_DYVC')B&4++NJ\ MW8XF'\A8OBP]<%J"@>>4#3R:[(#*'/WQQ58_#OMO^-EO*2*>+:L+0&JS^=GV M/>5+038K%L\$)3"=M]L@7G'N"B]?22Y[*;>AR$AZOK\GHQMH!R..9?VH^=4M MW:C;7;+E]3/?.MON?K0P#:0_A+]61(AWT^Z55=ZYCQE MB6R11/*A)(L922/YF41E1LJ$J1^Z&4_[/L>78=4-G<'H>LI&5X=6L?_>+[:K M_?(Z.A4L0W\ZC!7L'L'N$>P>P>X15+"@@GT-*ECG(]*;5)[O:(T8BQ[W,341 MR1(EEZ9LL96*8T3BF)=985\'I,_HPTO@_:D+6TI@=.X?!.<@. ?!.0C.07 .@O/I";>W55H/Z,DYW("I(Q%^A1#Q;+H4\[7 M:Y:KX^^*TAMYM,N'D*6"Y_F-X#&ER>L7VZ&G U*O2%S=P7:=W=",9,N/ M)"7;G!']=,)Z>!7'E6M4Y53)35$Q/CE/DLD56XU@WM;<;T1[?>-?5@@2*R:L M2L@:@E+;FH].NS$@N+W#5.D?-;KY4ZFVWGQQN%]Q'[VE@=':WJ_23]+]@?&) MK.6?]X)DN9Q@R07-X>7@CJ>"!T<,?3 F.:93OG EF=#DHJQ$J"HEN,Z,_$2? MJI_T 02U#90MVNUY/)!7!\O1 MW M M&"CO8Z9!N9(='S6]EK2CX/;@H1K00Z7=EJ?FH?*790*#!+2#H,LC@:&#F3F! MX/S5$H*N1GN]%PCU1R10;?TK0'@_(8'70]4'(OTK$J2=/3M^W>'?1WFY7DNI M17F)<[;,V(+%1/ZZ"YQ4,90;GK*8T;Y./\N0Z=T=J<*A_A0[U,Y)]?E\2 M*=,7E,ZS?2+K7'&H"[KA.3-XKJT[N_!=RSF04@./5ZIOEI^ T?B1?V+I<-VXH[>_#4R7/3B-5 M3;\/3M4MD=M2\Q+?_.:'&NT,-?R*AR+W'N0VRNBF%/&*Y/1@R'N]ZQKEA4Y] M3P/-J%[^0\SN%1<7O'PH%F4ZVV5./9\HJG[UH]33M [OA$]LLJD\I;)Z*&T=O%"]]#A-4AZ<7'^(DF&R$GBMQ %THE)-WR_MY!%"%UN#;0B<2-&@PAJ+9 M%;HSC;=:EU&M8>B9C6%E]7@;>@_$Y,(/8>X>7/O$6ESB/5RQZ/:74XFRUT9T M%/P6@FA#$.WI!=&:;)-3C9SMY;R::$0MW#(^L3A:&U?,1&-HVSQC$PN8[>QW M N+\&1E.O9,9".@7)(!<1]$!X?^*"SX\% ]ZY&.I 0F-[(/BPB;+= Z5\!NI M_T.T($Q4E8ZI1$URN="JO*6>8?G6XWJ*P>](5PBX/^6 ^]X>T3.25DG&*TH+ M=1I5S$D?K]#6?'3:C;6%VCM,E?Y1HP#VUR6>\_4#RRJJGL4?^5?.DEVUS9D0 MRM!:L:WSE?KS.JN%@_E"T^4@/KW338K?IR.=V0.A];%=])XLW8!^XS[EB5?E M0)YM#W_^)Y,4BGBU_4 ?:6K@57:=Q\+U\?DDOQ+TSU*)7#!0;3W'072=;-$M\[O:6Q/'[D M\01C)8"N7C&]IYF^&347/@-*A/B(@.$=$'(^=T(J+! M)A=N;^# B!-R1O!.[!@C6DOEE#N16Y%/1*M"VS(+1IUKLC'AUAH_FO"]+N^J M;:$;I7I4<5_#+W ,<;7#+'2PO6X2:[V=.S?-0IM9#/MB'_)8.Y%JL'9>-71K M'2!M\DZZ&LJE[48./Y$0;&O##KK%"],?CJ!VL,>A7,J]E1:&Q(* @) M!:>74.#*4>]7)AH!OL.@#K_QBS]&2\Z3)Y:F$T6+3)50Y#55.0Y53 MIW[%]SON+M6EZP-OGRG6?KW>$":.Q<37@0\678-O-_AVM9H/7N?7%*I=A5HL MH1;+Z=5BP>/V"D:G8'1"8G6QUY4F:E:R%RW]VH3^&JW)/[F(XEU)N[Y&(/!X MGJP^EO0$,\]7:.;95RCYJ%;*OK9CX^TZYI8.2+FG7TA^G>62:57V9>4+$QLN MY)I.]%= P7MYL#L=SXS&J*)O-#A]]66_+PC0WAS2VG8:U(YJE3GGF;IRL7:# MW++\\QG-XM6:B,_&I %HMU/ @NS]; _D&=)KH-W&QG(OGV\'XW6/<1$\WUBJ M2T:'=!D7@YI1NPWRML=T$8R[NW<'P1OZC#E.P%Y^+ZT1";?]WB VVEJ)9N3TGP1-*!@B_;>K,%7_: OFR(9VBB+FRXA=&OZ_J7**4DIWT] MUFW#>')4P\@(_NFOT#\]*R4WX0\LI1_4$KGBXG>64)[RY5;O$P9WU=4_._1,'D_.FK7MRFNN+ 5HZ(.4R>V2"9XKKD/2>QJM,+0A&I03\GHHU MR0P+RK:O W*O2%QESBI W<:BL#[ ME;*'K*A(2988MKYU9P<$W_%2#D[R8I8SAHA[;VZJXXS<6=9\HEGY/F; MHUM$S"4=.XYR^DA'=5U7?$6E4PM)4ZE.'+$V1'*T-1^==F/\0'N'J=(_\AK* M)*W.TU>T:O% ._HM6/N"H$-1 0V(EM8C4G[+EJMBOO@MKR/A M0?1K^N!!,5NKZPW_59V)NPH]78 9A@FA*_Y#5YS3J;R>\\7126PXU(QM0\"- MEU@-\SO@CL1(C,A;12IN+\!,-BX%)E^B\8=:O!?>R[Z#RLWF=N5BB$IQ^XHM MK2&3#< !G)OH=FK7XX-;V=51;M>ACMB);&#';[Z/?.'/]>P8M,9O@PZV!;.& M6UO]!N]X.)+:[=Y R(X*OKJ%;.,Q >+\"2-.2P\T$.I?,4+M[*P#@OYYDJ!- MKM7)A<.&@$-K&3D$' X;F-?/CHQ.-H*!MG7-H!..'+Q;Y+)0%X0:]Y3?B-)W MWTE&^%#T#"AM&<53/"F(BA!.^C6&DZZK=_Z!DVRV%+1:,X:8Q-;6#DBZD"OU M.1_GG#_2C&3%%?M"D_,5$4NJOA)D26_5>=9$9K<1!B.]>DIU).4\98E*++HJ MU3RJYO?\^/O+!U8D!(ZI\]#.P5X(\G1#!>-)._5OVSHGYUIR1B%YHZH=>)U= MRMF21^;%RRVM)Q#2VP')'^_/2-9[Z]M9-29V+] M29Y4IK)F32W\%E 1-&'%7M,U51+2-AR17G/-&D/3*=$\:H392QYB6!_ZAB/2 M*R>2UC?7@*A^VWQ$VH_Y]>5B06-U,]IS9AH($'",$5&J-%[CCFAK/D7:$>UH M=02!J#]N."*]OV6E5.W/N!#\2:K6YV0C>:4\C^";'#2"WRA>EE$I[U:L7P.A MJ+0OE M:E(Z[-98L]/4=%2:S2O,V'AJ=(^Z'ZJ0 9KD5X*OK_.\5/<>SQ>*T/L=H1HL M\(Y>\=S21YX^JAWXD M=Z-;J6 .PEN]2"C7J$MN>B+5-^':+K[5:C[3.<"[AW.5]I)I3J3N)M3?B6Y5 M&N5HWDFS1KE*NVL5&,YZEV(;-'+);_QD"$4/H>BG%XH."Q28:LAY9^_)1(// MVUS;$XLXMPA'!"+SEV_7Y859N/"!>/TEW=GOR$Z _"7462]->" J$.LO>+$Z MBFD&3L2O^"<"%K .%1+\:5>P;6OK@(7BQ"T-6449>DYX>A>Q3+:B44&^]*ZD M#QS-5P*4#34A$>J4$Z%Z!PLUF6^I5"B5.E EV<'CSP]$SF4DFZL: M(!71T28E65]9O]OHOF3_/M0%7>"4=0%--O+YBM'%Y1<:EVK'SQ<+%E,QRY+J M^RN629['2+K[7I^RW&,8!R NY;;B6VJZ8DK3Q,'#K^6>V:B-DQ473$C.R86! MCO;6+I+MJP'S^>)^1>]HQKCX2#*R;,E^A_=R0.(-%0NNJBO']$PQJUO)WP2+ M"YK<*0;VN_S(LN4\^U\D*XG8OI,C_&2X1:CW:&XA/300 :*^O>/PA.YF2Y6C M%)3^G1+3>NX[E@LX@N8LJ=P%VEK>I@NH;'L[(+G/C(\PP[KM-"N795Y\_Z/J M84NPJ;<#DN]61-0K\OQ("CJJOGNV?6YR0[95D/ 3$B36R?EML_$].6\?.>;DG),B7I6;6?)/ MN>>/K1-.YD$[^IB0+_\LJT+'>W]8/E>EG>]7))MOJA+?[^40RN-+F%"&!K=+ MH_/3QYRR'6FJ;JY2+R5!RP4U*LN^_>_>CX1Y.?3,7=;E65'U9/>2ZNOE=N:OE MTPR%NF!='!"WF_U*N9EG1T+W1ZID*X.X:->SO\\G%\61OT=^>K9UR __@-L5 M@*T'IW@7\:BEL?'WX:EBF9FJIM\'I^J@3&GITK08G+)*$&JPKC7^YH<:[1PU M_(J'(O+:WD./[*DE$I2\ULTMO-/Y1^L6-W2M#IK\Q7;W'.# M\;G'"*>';-0B*Y7@TU*)I[&-W[B216XMO9&PDOK:B1?\T7RGNW MS-B_I(!717^?\[S(S\F&%215WQJ#*@9^&KZ9^\2S1RDVT5J_SN^YI/OX=X7G M$R_^3HMGI'WFKL_S3F/VZG4B]:[=5ZK=.]]3:B1BG'E6FD6MGAK+(K6V]UNH M2FI *C_1P$*;FHQ"H[$(6',C['2.>GY"G%Z@MGZC))N/M#_5X?@'EQU#.KLS3B(F<:\U_;@^:+Z-9^5 MQ8H+@Q0XV',F.5N/A*6579F+:N\-/&FZQTUC[AJ9U!]4.?ND<%NGRE4_7I"" M#K:U^U$QJ9FNF=0L2Y[]0>JK-A?46(^?QMS66U'E/C[S?]<3:'H&KEG*C;)> M95G*$I#D/^2CPIS!'S6JSJ4!5!$K0<4K.L^:;?L]1O"/T'6 C&DNAGK6-&9- M'CVLOLZXG5.['#]D] PS&OX868U!H/"0:V^"FTN8,"CFMO8$T1P[P M%A<^)@1F?R;W*65BG)8F-L5!' (CFD:/"X?Y.C#A:0_UX [B*2:7/-_N6$-7 MF5:SXGB7X$I4I0&Z;;F)E*%M>6NM,;I^ 3G<68:H'W1;:] #^[A4 "SN .7N M'$7JF<@F][5^ !$ ?HMH.. 7P%A4-#RCCZRTY_K&['I4NW\H\1'YQG;QDJ&E M"X"@\=WMH+5+H=FK9MVS_>QJ-^BCVJQ=-''D&['U#79.VD)7;:I%4^A6QP = MRJ%%I:X50M!,5,^CIS5IS.]QTW_=NZF8 D2-Y_(60Z(=FN-59[GGK3F5J(Y- MJ&<"^5'9]C;T>;=H6((#W@=.@?;+$0;6-7K7DP/.QO 7FKB8#=O*;&B60B]1 ML+U"%)J7;'_T]RI3!\0]_.TU+A9WUP)L?E]^J&\=ZEN?7GWK@?-2T.B@X\R* M.?$$C9!J-SF>$MK1B3 CSPX@-QV=-.1PROI6ET C,77@1.XCK(&S@>6RP.%3 MJ($3@N5&013I?, YPW+YH,?T#J@PB.6:0O\%>J$SA$5>]E^E%SI#)R,[.RP> M )T[;*+U."4NH+.%1=0>M2PR=+*P"=D#)E5#IP2E;.T]41\Z6UAD;W\5I*$S M@T4('[1B/70RL$C7HQ1@AYH73T3.[G!+R/,,8;AYK_HQXM7+CHBZ8E >Q8<[ MZ382="8/XX+%)#W,FZ-K^;H\NI["T>_LZTYZN-"OW4,UW0O]1B^4=/E%$"K)_#K.H0!VVI<;O>8R)3 M]M-;J;P*FER4XN">KZW.,'B@(8)(&T3:(-(&D?8-I Z<( M[D("=R+K"X&UKWS>;71?4GH?ZH*L?LJRNN9BV!<5F&[V?,QX:RVPBP/B.ONZ M+E@>*\[;>"W=$$.'^['"_5BXG2[[=7LEC_Z/1'RFQ8U@,=WO7Q6HZ]K_8O'( M:_9?9I:IMY(: V?I!T#1MI4';SJL!LV7UJF--T"J346R/&S6N M#[>#8IH'S4*.:=D4$" B+GQR'0;@S':FD^1]G%#2H(+VMZ8;6D)^+IX] M,2^L#_/7^.=O)" MQ++JGJJBEGEZN7BM!O7EW^U 5'#NGK)SM[=1:Q^#=TLW7!1*[+VK5YC.&-?> M(1@1@Q$1I1$Q:/A!PS\]#1_*D#T+9;]&>?F0TS]+]15]5/3T%@X\R+^=\_<"RW26IF;HVO+[D\EZ0+%]0(6BB*XK990BL M&*L[JQP ?3F.5[35\5C9/TFLI+M[*M:&3=K6?'3:C>RRO<-4Z1^5S^^EJWN^ M.WSV2Y_F[P7/M;6U@-V"_>T4ZL@62'#B+9MWW/K;8819:OHQ^T%KKRI.RU:AU%NCI< MM3!; [IE"SC[N+U+ .7B=2,2]%JVCJ*10RA%"*4XO5"*[K;VB:5'=#,I3BSA M84C_T40S'WKZ6"::YP!SQ$\L?0$6LN$MZ"N/5S0I4QHQ%CV2M*PCTTF61']* M"MEBR[)E1.*J,%R/0# GCQD^.,PAF2%@[&L,&*M/XV2V6R*W-*;LL8KM/)A@ MTJW\EC_*$RPQ1)7U&O&*ZDI)#%DF,]3Z]:,/(X3*ZS1\D*ZV*@YRG)\_FB MH;7!!>AT;'RSHJ?;Z)YS.G:8E>.Q0\6C$PR6^'TO8AUX9U[=$II3(=?%N=3B MEC2YY^<\+^3WEU]4-6,=G%YC(4)MW$HV74\)TZB[WTQ@2ZR,7><0MN'%Q>]6 M>N&#"@ 8Y\]R4?,^#&RRH1,#B,CH?(!NUSMWI_RB\D%-@^V<6"Q(EX,7W?ZR M8I>\BRT"Y489]GPYD?"1X(>WWI_!#S^LP\Z!#CY1AWP'2[8W%U]5\>"':"$) MJIQ:5.(EBI[*[QC%*W4Q5![)>2A6]+@97T0I?:2I[*SVC)09U'#QL>,Y2AEY M8*FDFA[\87"OX%B4>:HR,1JRX'O\*GV/<9GR)8M-7L7&)@X>?GY8JR_B4CX\ MKU0]5;9]'9#[?^YB1M7QI*=*TV3L]/Q0_"$4?W#E\]M+*&?;_5ZK;0\FOR^D MSS@H7O"+ZJQ-YIF4QTJA;K(](SG+?\OX@Y)%E7QVG6W*0EE)LECVJCC.:TQF MKZ:OYX;9=/'<47G$ =W'9R'P#U:LWB#)7T)YB?L Z[W$H^PYUUF]"KI26OBC'$Z*ISI?Z>CT3'GV][<%M[+(@1XWY;F[HT51FUT\S5[# R4&?][.#A4Y3);U$%H00@OL$(?0 NUY M.IQR.]'0 U\6$^#T8*LBX,<6)I6F=VR&\F6 M3"*-I'!-7T9G'%IVBVUQ\2A/P2KN2 W1)Z<UPT$Q4-^TJ+>#5EU0T.ZEN%E>1[.I3 M3(2HRF8=XMM9MB.7IE(?;!IP>&5K$#H1:FH#X@QJ7E#S#$+N]6%5?5"KZOJP MJ&;5FKK\HDQ$D 0T;JVX5 *O\4CL>CR MUB0'-3VHZ=T4HF->LBLR^DFNIOLGFC[2CU)(6750BRP&13P/?Z=$7,FV3O"_ M'@P[;E[J[N[J-QARW/?RR>Y>^(O1L"-_XNYP/X\5C!_!^!&,'\'X$8P?8RO' MUD+9Z1E'H,?5Z5E&X +*1&TB+J12('1L5[^[4$3\FHE^B5)UG7L>K4E1BKHX M?U7,7W[IX):$KL-[,O_T(R^8>H*IQZ!2?*!RX]/YIJH?ERT_J$7U7)"#;"L_ MP(6V+JIM=Y389HN"BA;K3:^Q4*(&FNWZ#H<2NZ.7/8GWW&*>ZSH,6JPFDUSG M#:3"8 M!H-I,)@&@ZD7XXD;<7BBIM)>(L5$C:0]1<:)FD?[:043-8SV4_N H/\Z4= & MPP80^<\31=X)["]3 @O3CH#(?T6&'*0_^?5GO/M."G\/Q3YN\Y5=GV=+N=76 M=9-N'HWN#_#DT^A+8/!J!*^&R:XD5]"]7$$7<@'IS$4-34:C\>-A_=_2S>[D MF2]N!,MBMB'I=08UUKL8$^\LM)IW>PV&'+?>T-MCJ& ]#-;#8#T,UL-@/?2C MA;D[GZ=J0NQ]6$W5CNA -IFJ,5$K:OM5NW^.6/8H/W'!JL)'SW]WT[+!XWE2 MJBWI"3ITT*&-I6;K];-5\<+YBB:JFJ JB3!?W%)U@175B>\6/<=!I*].U-1D M'!IOR9,\)JA@)+6;]-:.X^#Y@XO/U]F-X,J\; 6HO:??Z!UU[=J!N,-4WY6; M32IY[2Q+/E)54T/9U.EODL&*ZH;F978L0[^.\7$Q9M#E@RX?=/F@RP==WE,Y M7KL#=Z(*N_4Q/%']W.$1/%$UW5ILGVB8CU[&'RFKL<[D6_.$+5AP'E&P72]:>N>G/LG#B;G35L'Y%QFCTSPZBPDZ3V-5YEZ"_+4[$F MF>$MVO9U0.X5B:L@,+EB9G%_8I*\4"*A*F4^'(]E=:= M'1!\QTLY.,F+6<[(X=7I:82T]YSV)U^M%)\+0>*B5)M>K!M.'&CST6EO/,CA M':9*OS/1Y.M*HGQ)RRU;KJ2&]5M>EV !T:_I$PS P0"L-3*.:0 V P&S>6[/ M5"=GZ+8[\SR_QG8+#."]\%YB/RH[O]N5V\L-X,\Z;O&*;41X=.9Q"YPP?1^= M8;P[PC9+"SH+>'>H&FL).MNW!<+.%@!T*:X6H.%*,+IT5I>OUF250I?::@&\ MHQW&[^D: B%"(,3I!4)8)E@C$>^Z8#/:7?PZCW^-N&)L45S=756\J .K_Z6; M5]G)LSRYFQW2&OS07Z$?^H(NJ%P?R7M!LJ(2*FB2UQ?$O;;-@MM[M7-*L4]R MS.0ZDUN%WI,O5$,]N+U7ZL_*7++C/#_GZP>655*KDO\D Y8450%7R4Z8/9PS M9GC]!_0<+E]0(1G=#=DJ^<",S=S8?U#\;BE]>&:L9OIAG?SCL . A'+)>Y(R M+OX@0G&B;36M)#U/29ZS!:.)&8EE[^!I"IXFK18W<0],T+"#AHU,"^W$G2>J M<0/E473.%#,Z2UT!G?\$&EG?+I"B3 'GK(YL+_=[8F(Y%X^T1#(W-C&*Y67%FQ@+/M=JSJ\($[_+K:[\-OM=KNXWC N: M7+!'>79GR:UD(SIEW==SIS^;O_-4#J/$']_SV?SDZ<[H+%.8,_:M2,DHK8A_9=]&##E53(TCO3 M# [ZP&"G#W9ZE'9Z6$9(L[S,??+MR;DO +H&NJR105\CM]9F4#EX1MT+&%)2 M@DLON/1.SZ7G666;J#/0L^%E8D[%TVS M$#J"6F@-KI_@^AG"[%NK(/D5%PO*U$5XJLRD9"RLCB3(K[,;*AA/_J J\80F MLT?I$",?V]=/FM2,57%,!PCO!<^U%K_A MGC2I&9N7A3RELH1ERT^EP>TZV'.F.ELC<$#+I^.:6:VM9[Z77FL(@QXQ@Q Q MK7E^R;C&F&1["H+3R+_3: ZI79S+=55FER40O*P^OU72R4_LG\?-J%6V.D\ M4'"2!0U:<:$Y/7]%FHKD\ M8^IM$\T-&MSB!YP7?Z77O,]+7RLS+J=;F3W*<>1/M9=I8+<;\&E('&]6U ;7 M6W"]33[KZE:N=\FQY)JOI ICQI6Q+2[CIXZY7_Y95O6>)9"RDB>JU-K[% MLGV5Y3^,HZT[!:2\O-2SO,]_\^).< M6WS+OB-])_)V/O&=V#>,X[OK\T]M=O$M>WO23N2=_%ZA'HW7-S_^).<6WZ+O M2!^NMX,[5SC,V=3RJT.HA[TWVM*P>RJA#R$_..0'^\\/!MC>4,7+C+H/0FYP MB) *$5*HO*K]C"!?6^348):+KRVLJI?9^51CK<8Q$T\U$FL4*]BIQF^-8[7Z MVD*[^OJ8O[:0KP'=PMYBOZ3,F_.4):0.7]I]G4=\$<4D7T6+E#]9!'=9#3=\ M]%8'J//%;SL1N0Z:GB]>F5"NLYF4HM7JN:X:LFPYRY(K MEI$L5G_7L7^,O@8P^',<3,-U%@MU*^@%K?^5--07)-P(OJ"Y4N))>D6;L5EW M'I+@.Y)2=;/%FN7')A00O9J^@Y"[OPKZ#U:LSLN\X.OG&QNVZOWK[VGL/9@# M0/LK7Z[DL?NB%.%-*>*5)$H9V.H%W@2A0W?'1*O]E/[!Q6>UI9)_RDE3!\0\ MNQ'TD?$RG\7RC,^KHZ@-0(>A'(-1"W>^^$CBE11WQ%;%G\M';A09GV@Q7[Q_ MR^][C>& _,X%K"Y8'O-2?EBK_S:AEF^_/ M'R4XW_-;*J6IF*7J OKZ+JL//)??G\LF<@6I"G3)V?:W7&D'ATNFGX^IV4-> M,2>-U]'78[W.)?R*I6/'Q?E*_2F/HVK]S1=MMS+IBG%[?KK7F55O7_U?,:=' MR;(DX<_RD_I!,JZ77QRUE,LH+55>J=SI&YZ3]+W@Y4;VJ':^@BNE@-U:DI@U MTSL&"=.9X]H^\%9&V<&^_!)7ZTQ58KQ<+*B6+XQ#A-=YOJ /Q;,1P9#VH6\X M(KVM43]MS:=(^ZA11_M+%X\NE)2;0/Y[+K]DA7[UP+IYQK(1-&85EY-_I[0Z MCK)$GCZB8/\B#8)WEZY^;Z2J6,E\<YAF"$PL/85[?QQ47E"VS^O;#>'LO M99U\V"KUN3CH;QIP M=IV]XCIB53>$Z0+.-:U\4_K6F*0$Z'QW=E@_)&BD-D;EWN\"Z&W7\3&] MNI>YP[LRCS R0J-!$(P2-,K(2/?6PUN:*E_/T:6W8)CM0XR,4?D!,OED&U - M?49&<;#1G),-*TC:8A>R'P +O@_JL_UN:^D_-CKEX=[=(]UED[7TQX#NV5$R MRW.J5:^-"UOG5&8<8&>.-H!LI_^WU7'6=19:K*._ZJG>[EVDSF&?<-4?? M_B%802_XDTX_UC?T2N\G6C29ZML=YMT'0(JOY:3K/A &O,]!"AW?IV$ I/BZ MO4_ 0!CP-KC2[' :!D"*K]O[Q.9S?.$FU4-YV\8OE8;0ILKQV_8R;/M[1;>+ M)KCBHLU["F>;3L8<8Q;RG4)]S^_)%V5#6/%468PEDN;(6_,$=!YN%.SWO K[ M$?2%5?4XJJ8%+7R [_3!??.#94LVP>A_+@N**VIB5\:R\VF3O FJ9+GKU+^=)TMN%C7H7!F MN=.R=ZB:XJ5JBB$PBNM:G5SYD[;H,'0U4%K?!P=$1:.J9>%F/88R)*$,22A# M,D2F;U\3'CH6V@,0!YD#)UI!Q6\V";IEX0W^B]/,-AP7'1,98]K:O+3H-N 8 MD]0Y_A9=W:(Q9@]B>$%7L\CG1 V7+HJN>)'W:>V76XRNGM$8^[=+@#ZZTD7C MB"0V&4_HJA>-,66CY RC.Z5A2D;7T&1TZD('(,9I:,OX0"?XNYX ;=0].FG> M-7+[L%ETF]_UE #"PM%)W\[G )+4@$Y8'HHO-B:)H1-U7:.'YE>A$UV[342? MFFCH1%'7:\$BI1 X%[\BGXL>)>>@XM*D!49('BUT(J8K.(+2XZ#3@%V*=%G% M$#HG)R-&]EX=4Q$FNZ:7H).I>[FHP5E#Z(P+/0 =38O#[ =TUH=^,^2N#BDZ MXX33I6.=28'.,#'0=+3']:-CI8YFHD.* SH;A9NIZ)J3BVXZ>AVRX%3KJ1RR M$$":#0%(8YK*06HY"[ ,FZD?ZFHXR!(27@7*P*=;T<4O>D;_Y5MUD*T^-G#;65.W0<]SK4]J+X4*ZC(+A ML ;>Y/5FR1G-I+95Y'L?S_ZS!?A^#\ V/TK: M%8]5CF05D$O2?):F_$FY@:^XN.#E0[$HTWT60_=YZOB@"9^"- #VM= M#P0(;*M)=QPE%&7U7Y0UE 4% GE"4-YPM,K3PA7Y-$Y7$&D79PI%.O0>C.ZT-/>$Z,Q^Z(+*^T-%.QI0!X'1 M!4L-P.-ZV;S0Q5SZF2"SP0LX*?X*0[B8E%9S.E3VP2?ZV;A#H"CQB7@V#FDH MR@D)=VTV72CD"8EM;SS%Z$1V:^T38L'%K(*VT-\*NK.1'K-FVCXIG2.WT*UX MAVMAJM4"'$Y!]P-Z%*74'FY[7!]F3;33ZVT/TO(AWIRU$Y7^%4?D?298O&$V3EY>A'<=>:YJX M>'CQ@92"IH9G-[;PZI>M5>@K$E?EH!I>4'O#$>EM7.N0IE.BV=E>[191H;N< M[TW0A/E"Q5'H?7M-HI%JW2V7TZ)]U/52>>4NOVQ8G;U](8]OW>6VIJ:>:582 MQ'Q1;[Y&=@UI.@+-^9Z2^;- ]/)FG4;ZV[OYQ<(RNJ=HS_J 2PC>[-2OH8;A,PC,W$9(G5RL(%1C0&<3-[X+;B,$H(J& M[+\@3^2.;:BJ@FYA@N]^-QD44*[)Z=_][O3UF6Q1?MU&(68\Q(R?7LRXM7:% MSE?;':=1+T;GD 7B;#4AH7.]0H'9V&G\.A^_C_)RO29BJUQN.5MF;,%B(G\E M=3BF,IB52$KCU=(OJK_0Y^K058UM<2AAEK]>S?/I7_"/+D] MQP(6?*:G[#/M[]>J"[V^*N\ZJP-RY9I4X8TZTYM57^^H.M>V-:#M/:;767A) MC096-'';9M!I@TZ+3%7H<)).5*LU'3<356 ="@9^E< ?H^4N M[+]2)]@AT']?*OGM-]V4NOX/\J2DN2(T*%VGK'1I8D7W5_>>D?ASRI?ZD%%C M0P>$R ,Z+@3/6'PO5[V>#E,[%V1DCTR.7E\U<4_C5<8E6D9S T6P+@Z(J^Z\ MRG,86:V-_2JW?+TI"RKN^*)X(H*^2M RQKY9]?6+:KG%AV"M@W0?"@O=L^Y'\DXOS M5!Z2AGCC#B-@06@JS0WMA@7+\TRWQBMW'.7TD8X:L&V@55\ '-;)*XY]%K*& MXM<_>Z7M.MNI&KTX7L=1,"&]_+*[^JWE;74=!A-6"W[18Z2O!_&H7++Q+(:O M9IO.H^*2W+LK*E-7KYANI(2;J;MW]RK7UJ@*M#4?@7:S[M+8QJ\3JS;>&W=X M8QO<5([*80[VXK,R9QG-\QUI)HD U">X8_V[8YW3>2](0M59:&8-NF;^:5T3 M\1E :T.SX.;VDIX$XQT>EB-^..C#B3"_?H<-"B2QYJ MWK<<[,=!%='BAGMAR!MRN#H[F\+1K=6NW.4XH@+JV4&YKOUR9PS[H#\'L_'[ MHL/F8,7##!CX8KZ,;Q7H-D>'RMG[[ /77Y1;#[C0E@&LSFBLDE/#MQU*&3R?IHP:_?M=;<@U(8&\>$T$LH<\3Y0Z9$R)0XO4R) M9J\D.A$2!L8N4 R=X-@;)"B:$9WLV!MVU_LS_,F%,(C](GR H/U=^ 4%;1\( M H3J[[JO;E#;HT/\YB^]>Q>QZAZ#J"!?:!Y1(C))6AX]T 47].6/'0OI]WB$ MKWKZO4D,V4JGG*WD(+Y,+2!U?>.59"+G7-4J*>4*V]WLR+/\K%IIASM%:"YG M4JY=%K]"Y'!$[#-P^:401/)UEA&QK3CL)YXIM4!N84G:4O)6JNJWN)LAVR=B MG\$K^9$M]<&G?0<,,56AQ(76.#"F/2\8;H+AYO0,-\[._(G:>EP=6!.U GD3 M:$9601<+&A?LL?H<260T(AE)MSG;E^R3 %0MSPJS*N]'OVQH5<)/C5S*(W-; M=W.DKPY%SUC*[;!X@B9\RIJPIA3$@>70V;JB M;3T.Y2\G]'Q%LJ6<\3<7V.KOF]>![#TPAOG8\8'&;C[Z/0/#+$G50,IMI>134F'>H;"; ],(6!'> MK8B@9T3J=RH:47Y3;W'>8E=V-#:&6:EN:C]\)95"@VVURQ 8,%8:MI2@/D@J MTB,%V0YFVR@8D!YD1$ML;_L%ZWZP[@?K?K#N!^N^1_/N('+EQ.S]CDU $S/W M#VD!N;,] M$2KI>*RRT6<>[$R*4/#8Y+P^3@\H9BR27'^S$10Q%NG-RC_B.=#BAR@O>/SY M04E'47PD'D6;E&215,F436+G],^5(-70E-9XN@97#$F#KX"*X3&$((I3#J+H M;7RC^(=PS66C6_M@0%!2[EP0)]I MHQBU^/ MS:F4R=1M+9];G-#MNJ[ZI![/NFRY$8*EJVW M"0SYJ#!G\$?A**#^1CT-CO3@2.]60KI=7G5PT!4 W M\_RJ 6:\(5]CXVW-6JD*5:S)J/L 0R5>IQ40@3HGNMT!8^(<;.Q N<1='FP8 M5NX0[]5.IT(7:&2-UUJ11Q==9 VY@Y7/[WL.\9XAWO/TXCV[^&$\.XQ_B?XL MB2BH2+>17 @Y3UFB*([D0TD6,Y)&\C.)RHR4"5,_P-IW]!U[(L>7&]DKG.!1 M#AYE4YKSKN+A#15[=J0M/6=L.RK5%RPMY88 TOVJM5^OK"IY>B.X/L&ZH07V M+B#U:L]G>I2.KJ.KLJEE;^ M3X75:CV?G4<*OIT3N%;V#\J6*U5!_5%RFB7]5"K9?K[8'1#589'/RT(*<)E: M!AH@'4?!@/0-<:;SO],8P5<7C"#!"!*,(&_,K3U/7G069^ =+#KI'ITY&6UM MRFEFL,+202:5DVK0!("(L&6< BP<0&38$$W@L;[*C^2AU>';_;B6D/Y J1"46Q5U& A M?[O\LV2;M1&PT^''FILJ45Y%!PBZ4C:3??$ )7&K4D +O6V[XRA^D29)=3R3 M](:PY#H[)QM6: O2MK3V2WE5IT-'Z(L?1Z"KA1LTM1F/RME#7ME_(-2^;NN5 MZK,RET)YKCCH \MV]:64P6,I*9-_Y2S9&3T^,/+ 4BEI*,N&\5TX&=-O%C3) M59"D^D>QR4=YILAC?E97'Y-TJ]HU.I>/55_/N=WR5"RJZ'5%X/X5Q&_O*;#H MX1V!*J/$X\_&5Z!IYIG6MR;?P_HV,R^;KG@PM?(!R]Y>D>W+4QULF6^N8GX% MIKV#WVBA]2;E6TIO:24-[:>5M0G_X'Y^(XA>W1[\.GRH\7)A;Y$O\%N/WX3! MV%Z8[ W3HWS57&SUZ[VIB5<:/U"2TQ5/DVLIX_/'.@NK+>^I M6%_0AQ:CF:'E:!2WBB[FQE[I_DCBE52GQ/;8AF/B@^T=O-+_7-I9\6>@1 SK MA %'ZU("]QL1S:UROE3* M89-N[."5_ANQT^):30J&EKXIWA"6[")M)$<_6L;F=6/1TS,BC5^B10 "]\.! MQG1"PSKAP*'7$"%=1JH/IXRQ&JJ;&XU(YUO;<2M7M1_ ,[Z"2 $TV40J0*V.""Q,;PEH^7(:N_@E?XJ4AD4IF-HZ9=B(36-4FRK MB:R]/":AK:UYR-L)>3LA;R?D[;R"!(C&0%?3S$SS<2TS^_ $=*\1#-8DW*-+ MK@*C@H>=HDNX F/4NQO1)4F!,5E;8-#E3,&7:&]0V)(:+TT( !="NX$UH;HR.Z\279YO M)\#-\67H,GT[8;./JT.7[]L)-S0&%5T&<">T7;T<4.$$N2P&B%> (D4NAS6E M%J&30&!: S1*#YVZ "#\&&9;3!\Z!<$.GTWX&3KMP XJ)",;W6:T@VB9\X!. MP+=^H>#T;G2RO1U4^[PI=+)]IW<+R7E')^G;(6WU0*.3Z"U/&$A4)SHYWE)* M< //HZ#N1$J8CK3>7>CKBQ&K-.0P=1TZ%5BEID[9NU#06(4G:+PZ%"=6R4F; M>@@%AE5" E@L"W8@VT+LT9D3[.#9U2QX!NNS MFNSAZSSBBX@?BHWO:;.L*]LVG.<*LS!R0JW9]G#RK[C6;'TQ\^Z>A5O!@&PEU\DX2:]AD)4X28]'#?I[:?-O*\TK;Q2.HT[_P[^ M@]U4Z2C5MAN7VI;DU];VXU#?NBX,+?W76I%\B[^DQ[SY8)U\5SN@4J%2 7P7 M4BA+>14/9H8!ZN,9Q5=W/R>MSDKSBVIN%*HSG$!UAG"/:+A'--0C"/4(0CV" M<(^H']P&RQU";Z&/FU&Q11\ =3ITP0?M='.83(N.HU@ALU"KT+$0*Z!6MEUT MO,4*:HMQ"!VCZ0:NYYV\_D(+K. 93:7H @KLWIR%(0I=;('E2\1U6[B_C(<. MT^3FTG!_"0]6$/O?'>XQU<$*F;L[Q#UF-U@A'/XN<8\Y#[W>;9\[Q3TF,[AX MNYCO%G\9+Q4?QUM&=/?*]G3VB@PS#SUJE!B$M! Q%B+&S#=(O@Y4;KEC&- C MQ#(T>ZL;INY*2KYLN4M1CK?W@F2Y9-)U]:WJ4UH)R;/DGV5>[ I059-]HRIS MR1^*0K"'LE#6W7M^0]HN&_%- XI95J]=5<>Y2OG3?])D2=]+7J"^G"VD)G%+ MXY3D.5NPF.Q12VQ=IK+_@X)OV+]O./@2@R\Q^!*_2E]B?YL$-B_AT$<3.G= MOVGQ(/R@\S% WUC5J:5+[B=8;R5/5@I\O7IM@9VNU2#7BO].Q?6>^ MB&J3DG17_Z#:82\/F+U_@28W9%M5#A7RD%K61D'-E+@;.&BG(7(Y1"Z'R.5@ M;0C6AF!ML(8TO!<=FS7"M>@Q4>N#(P?[I.P' PCB?BT-/T0+PD3TJ(H9R?E0 M18YVOO?TN5S._@>I'A?'[26?%PJT4+KT@]S/7:T- U/AR>+@!46P.IRRU>'M M3E'?5*774KYD\<<7'&OW;%,3KZK(OG+N+/ZS9'G-N]6?@M+&MVG=[S30.%NT MKE"]7<[ UJ-0;E&7N055AY&\(KZ@@CU622LOK\=Y!4?7;"1:]_F*]_+QQHT" MZ3)E#*/N\V?"KK-<"LE*$+EE^6?#9H=T\8KA2HI'59G-L^WAS_]D+7] MH++7#&CL.H^#ZSJ3ND%>$?.N\6BWZ#$Z@N^M$7R/#,$/U@A^P(#@XY&J\7:I M&]E7IS%.&^6H7'N?]74K%'&4C'XYL[X6D8 M)P(DE?$N4C5&M&T*9\,]/4"KP>1\>U8ZN.=WV6X_A[\=#K%@H?)C#K%8>SD[ M'<%VN&B[:%_HUG"WDZ1I%MK4-I3+V],1C&'EC[48&C5@=&[P0: WJLY^H3OD M=W#;&3HN!Q(8&RK6F-1.E/S,I23=BVDYBMP(\6,A?NSTXL=Z.^?0'9\PW&8O MGM^HH)\B45?@C!22*-ZQOSQZ8L4JBG=%2'/)=W*R7 JY)14A*M%FUZ]K()#[ M!WN*_1F*\!#N\S6&^Y1RM7#%"@SQ/IHV#AY_01>JFM*,"IYO2&P@PMS2 2F7 M6?);3H6>@L8&#AY\E6[EB7,C^ .=9L+,+1V0\H$MZ%W,:!93P_SH6SD@84[72CE9"C6$NN3Q0E5] M53'8W+"$X+U*1Q8K+5 L%0B2@@P/"[N7@:Y+* M\>4>-]!C:N>.#/4.:H[<,CV0]@[(^EVJ+_QZ39;R(7IB]*WZN\ES41RYR.6G M9\%'?OC'1_)/+O;W#.0-LH^YT>#T?2)K.E^\(*!1=@2UG0:U[D-26JC>K?ZY MV/.,YE5@:N:+QNHNY_KQN79F6]M.@]I10Y/J2[*?DYS.MCN1LDD_LNLT*HX] M0<90*UBGJ>,8=7U]A;?KA:"YEX:X$#37$4CK8;?#:')1;Q#M HT+';;T>+NM$I6;M>>60Q[/8_?.;(V#DPO8@^EQJ'9<^RG& MK6TZZ#9@K^-\ EO0^B4:[(1H//YVP#I:C?T&&3E#VV;2!,(:O@*,'2Q[AQ\0 MZ/#WU=FN5K#[8+)1G#;F*C1'HJ5:T,A]]$XU5 ?C4#H3\O.RXQN&N/S1')T= M,9K#8- M7Q%CU\1#U]86MRW5C\(#V]^&IDK-AI*KI]\&INE5UFS4A M46]^\T.-=H8:?L5#T:CQ)B^WWKEDYJ^(;6\X(KVOBFU?L+RZU$CEY-Y(^9?J M;_7L. P>K&^YY+LN6 W#^(VJ67%1J,>WK4-]PQ"U%**6M K?J%;KUM">M^QMZ67QRX2?!UA9L;8 =*N:ZM?:_>Y=Q*JKHZ." M?*'YT8>(?MDH!V?T0#-)0='1!M[] 9XLXWT)#/;R4[:7]U;AZXOKBRNJ*C^E M]^3+9;VHSNHUI='I@;U&0<*%Y&B9+9*67F,@N:YVNB60EDYCX*A.I5F6?)!/ MM5UAL+Y>4:G &DE;LEO\=F_)KO,XN.JMT!$7J/,HN+H!PHCDQ:;H!LMF"*\8 M[>!@HCP8[X>WLIZ*\3Y8]X)U[_2L>U9:P41-?1WDTHE9_SII1A.U_]DH31.U M]G71.-#%SMM!M1=N@8!_1@K81NL"0OT%*527&']%AM$2FQ?[^\_13CZ*6+;@ M8EW7UF[ZKJ/]O?,#?-G?>Q(8[.^G;'_7U=9.:5P(GK%8):L;2FP;VCDI\?W( MY.AJH:I*'?$JX^H6.%,1:6 7!\3MBD[ R&IM/'CDM;H>@ZKF MAB/0J2V&V=9T"K2.&N=^SL6&"WE"!JS:D:EM#Q; M:-V1X)0/.6W[<60JU"J-7IA5HY+%J&A75:N,@]V%\G&K0%MM!/-&#+ M:(F>:(06T%*-(O"#)?(;MF"*D49$[/V#
F/L??NE5W[ F+'[53^,:<5A::LMY*^^) MAL%7%]5IN/!NS,+^ZF7/LS%6J._E$N5U4'6,\I+4YZVZY;T65B9B"T;\57Y% M0:"L'+.- FK('=,+]\DMVBX$W.MK^BEWG6AWC*\8JI9")"H'UHBZHA<.Z*W" M?]7/)BR\%V$@XB"0IKAM=W[Z4JVF"URG'.5XPD\J&M+KQ!S=9&N,-WT*Y5*\ METE^W>2"*X[4P91ZY,-LN8SJEYAOCZOU U)H9GC"KIX:[X#IBA<[OT[<%O\% MG/1]-&8CP01L1"451/$WR-4P.4B1BWPAR AED/P&=EO75*E[DHSMAFW'0\L< M4/EL>-A*)=42JBQ6^40))+3-"%2X'?8($*+@%D9[9)C!D0-'H1B<-!FR Q0= M;HT_\)]@9'W&Y6-1P3G21CMZL=XH2J.-\)$=/?IS( HV M) MB H3V3 T"-=TYNTUL_V[7!A8GH48_#2KF5SD,)HB:#I-[C]3M3^%F6C/< M!W_N+I'A8=_OC@]QQU_Y7NVZQX-QX[O2Q9S7P>N;T*?>,8G'@#[!=\6,S>3C MAW_&-1YOGK1416F!9(SI!T&"O&:?V7&(< G(WC0Q))I ;K()FFLVXW9@: M2D77K =%[8\\5K0[RSX.1Z/87A-^";T[KN=;QBQ:?HBA#$Y;#>4P%"2)VPA- M8$,AC>CP#M;8GBDUMRP!Y MUE@9Q"U+-!31['5<(T,Z6DW6\<%)'8-&:$*!F-L6L9P/N\"])5W56!1WQ21' MG"22Q]V7WQ7I9JYLW@F&WXY][R(PET=C*:C-#C8^&B85G17JJNU+''*A+Y*C M=VB2M"X493RU?67.OI40U:9J45F/4-D93&6D'/[U5K3RD_+8-92BN<6V"/>B M4E^KOIAN?3!EJU'F4F\_+T6,A=C#Y^*_4D2Z[,*U461U7?1G6R M*%F@O0#Z(!I?@J1A:R*17W7JKCRL/:8?G!52HK?V8)7Z7=*R "78:'&\L,[) M.VBMX$1F V3>.$J_,0DY61X#K-><7+=ITCWED@RD.\WEZ"$>7*'M<<,].VF9 M5C&+TF_T$O+%RD+Y)1Q:.',XL0]L$U!$0\#%=8(/S1B/E[-<"C>XMM(^KH69U6??D+2U+8\1AZZ6"[!:\)X=@//5Z5+*NFC/XF8E$E%,_"=;"&Z;=@A1#XQ!V2F]U0+VF,RE& M)D 586#0T>,[<.26/$Y.I+SW)A)#,AN%*NOZNZ2^:<@T"1EX6[[(B&*W]L_= M4BT*Y$FLY\'+T7N;S-G3YI5['POE.P@"B"'[SA15=3;).6F4_QN-T5[L5R]M MCS6%DU\/X5)#KM[3@ZB 2_<)6 M*J:[6D+!K5""L$DU.BLD9=4?2.=(R98*D MV_T=Z^%7YF[EUY9?)#Q_\N9$D9/?)GGRV*]HN%+^Y1AU)EX^=G7T/K3LX;^S MR?N7D 9K(!WH7@;12QI&(8"I/)"?R16$328F+GE?W/%!^;0^:8E_7X!<17/; MB>@Z:W6-,@DS7PQ;4*N5$22U\*S'X_$2@4"D^J-)::YV:@F"4IVX;L$]_]^[ M%=TLNZ(;''XGL20OES!*Q@>&JW#+C-*2B4K&.FN^B1QTCT3;#B3:PP=[)-H> MB?8+)&$R9S_*7(V(MS9HN!*\!0ZWL[;))/>W,"[FC]DL:P_DPX[1W#N8]W

82X3[5&HI) 5CX\6S4D)U!$G7]!F*<%.5VX9U1)E[=;A7?U0+$39XM^IF* M(FIWX%F7+$[P"SCG=(]!T-%?+6=Y4P.0YFL?;I]GE8C,3HQ; C\661MR,VX+ MY!K5IRAN+478>X$J&&*Q6'(VS$/_V?OO$-@-*MR0&,@, R#(U4TQ_X!W::_> ME=/N8H>&VD(&1,),Y^&*4=PT&C?)F%FU MA:3 6AD!@;#66'M2Q3R<9W2 (-"@@SK;PZ/* %1(O9QK^GIH_?>E/?^ M9T^_/OPZ^NF3;][WTX?=8EVS>9C8^[;>U.2D7PZNOG7U1SQ:@*P,((JYLR[0 M!71I9@W=:K2OP_;C;RQJ,]3N'AWXO7\^GPCH%(",*!+&:$@7TVZMWAQ0]O2Y M,IV4>R+"?;_VKS0P<"RHRQVDPOH[=I0#!#Z9!&X&DJ\7VDTD B-TNDV5Q63P M)Z1AZSR4/5O#UJR KOKX5%*\"_>[Z;1];][3J( 9QTU=K_U$;\5$KW$?;7 V M=);M9V\K9D^VJ6@NTQ;M:$2JK\#A+!.(&_XUJBU$%9O1RL]UZ&G?S_;VS+:* M<@-7(B*CU##O[++!=7B;[+EU9I[D3^A.B!-\/Z];,:\Q@5K,OJ 4!#A,J3^( M: E4=H0OEJ@H5RO85>DHLA5/ PC1?B.%T5!4X@YE2 /D0NIG]5+EF'\N*^FD M;I"Z?>TO="R5,TG9NO#M8,Q?(IM$ZVQ/^;B5ZZY?L=]/S%9,C.U$)DG[_;1L MQ;1(>^L\6S%)W6I<[N=F2^9F6B['4D.07NE!",J>%'!K9@R%.G"Y-E96G'KY M)K.B*MH%DP($OP@PKT^79H^K2>O;<"#UX&-!0'ZXK89J2JAT2F/'L-X=*YGZ.Q1]JYR UJAS]@MG5:=:KX6S@8+J8=+K$;LI2FF&LD]3=#+Q MPV6 PI93&-YDFHI"&Z\&0S:#?KP8:M?][,GA-U&QP[83KQ7YI2YBR.YV[F<+ M/U(2^B#NN0&PE2<0&>KX\)J+F9481'L9UWUI=LOZSKY;*4@TX"33I[0$#[S< M@088N&6NMXD![1O7%-.TZ6GJ!C8IR!,=+0506M99!3"=>VQ1XZRI^+GA[0XJ M^#:QM@J+I67O-*N9DER4BY]%L=F MUVNP]'"P(7G>.Y@,S[[,B!7;,"*8M04;T.-*"51A?_&/A+X^B-8QS872 MI%BLVA0M[T' \?*BBT1!687J >D"#C L]IP59Z]6^1:'3 MHG#VZNKTQ8O3DZLWQR^2UQ?4J7#USQUO4C@1\;AU8C=%-26O@!EXR!(T'LV^ M]'P9.307RU6?5S;OMR<_[ZM%R@$Y@G;LV,M":E\3=!?KEG0MUHD$1L,403QT M1$US$!Y%&L&BR@-B JV5?=[*G[7(RQ"]9:2XYX%WVEA*0!K\%I+E8JP];8VFI=[[PFT:.A"; !A M@X:UH?,#\'."*:L_H4\R>=@91Z7 MR_;W:U7>0]S70-R/]A#W/<3]([R,(7-N3^3!0]W[!2#URL)!2P!4M,F+X( T M L4';.<.Q0 HC(>W+N!\=5#%R>E#; M_7R%-RGMA]0D;?H=G8O6@$50I:3QV6CE%6-H>OTQ?9C\6-_1C5/H&:NCP2Q] M7HPZ7;] ,/^L\#Q"W[S[AO-%T%&/\X_AO8T-3CE@BMQ%Z4 [E*3(71Z?\.MO M3YAS6I1>ECF[OB9W$><@T9%4UT3?67KAG/67XL1+L7 'H N!VY;/81RY&ZE@ M-EPM>@/.X=$6^$$G:)1O NK_]DUF6Q\K$@6TM+*_^L%]]8+QZW;Z\<5D<1J\T1W@/5X#&NJC:-!*$0J M5DBU,??0&E(.RY5!S1/MHED-8:O;/)#"=J^==C04 OFQ="33>Y'G_5H5>C1Z&UDZVF63PKUMJ+*+"U*U M?)8?Z!>I%Z*BE0D.3!R0(&Y K='B$]*ESICRXSA?"(>1^OZ\U;]'D2YD# M"1+.5EXWF?6%S*0*,JMDZD-MF#%JN.C]VB-PMF>* P(G/BJ5 TWISSID6:#& MJMFM1;*WS;_*3N9.[0!R!F^S7PE:L M!7A()#^HN4N/KHWZC/>H^&V9L \4\C!;&%P\\:\;GO@TMO>I4730?+%>;[\* MMF(5Q&H+Z/453'((XBSUA(0EHQ4H@9LJ@*_W$[H5$VHV9NUI59/V)FOV78/; M,4/QECLY_\?9LX.C;U'8IN(Q\@'4?4_I!D64:.)O/X5;,X4Q)W$](@*1=IP+ M=S:G>4F*J=YW F[-O!F]K/X<>9PM^.2A>T+@ 0)=&7X>@F4MBM+==-+G-=E/ M\U9,!I^XG?!(R?^SG:BCG* MWQ'"O5,"457#_1QMQ1QU<,C2UVXJ2,C/[B=K*R:+T:/ = B@U#LH>R:0K9HI M9+>+=]W9(?K ?>%IZZ;(4 =6(#*_;K+Y#1'_@1;3((8A$K7?;ULWF9T\L_?B MN6?N';29]N?8ULP6UWP[W($T<1WM'MEI<^)B04>81S_N9W(K9K+C/M8CM$HV MV9T1#Z\)MS0B"!=--74,^ Y8$D':S^16S*37Q=*6IC8B)P_SN9^OK9BO,?4R ME:5O.&OR=GR33Y:E8&B"#N^^GKJ%LQ?\E4 -%[$Z[;DUMF6N(B$?P^7XZ9)G M?)\S5#A@N!B\;41\9S6![PG638T4"Q8[=Q["+;EQK):*)D4&@P'2R5#H-.F4 MIGM@YK2'(5\W#A[ L!YB@OX.X2;P-PL8:D5.>_W$/=!YT)+\9MN0.LT6^2PY M^CXT>FV5G7 #?//JXO3R_,4_3JE3Y/CY<])7?WGZZNIR8,2?CKEXY3S(O9#5 MEG3Y/I2;[KM\=Z;+=W]4K#LJ3K;WJ#CYY_>G%Y>G)V\NSHB'YI,\'CC"^%OQ M]Y,5489=*F3_!X1$%.#^[:MBEYHK^8'/J0$7>E^48:%']\T*K#XR6EF^&5*G M"KQK9Q7DR. M!V'UY(N__-^YYVN2SP^38A0G7U!FM4FH%0BN0:)%3[\;DGR(A6K%% M,04J"Y!5D9;"&Y0WQPU MT5^)W)="X*<7^."\Z8>@[5(GE,8W)WG/R\S5AZ: M.AM)@L+"LX(N81!"0[U-!\#=171!:FT7^7@6FYVAD[[)THF"\RZ[""T [4'?YJIB\B!DQDQYV);Z_G(/979I] M[23QM/&E&=#'W98^G^344<\)'+]>2SVDQ/2BS3X^S18W!)4=LG-!_9#2 M0]X$.X-TYHX(LK/)A8IKOB[=G[^@O:)GW,5K/>3DTA>O$R!CZB53>EPOW36( MWH&;@X5N#GV%-5;)C?M_)7?:CT 9PC=MP_5N\G+>,C,9&7;WAO^]+,9,B%(W MUUD%:*]7 )4L% X$T.YVKLQWQ37U@J3-J!RP]J0-\Y1:*TZ=^/DU6$Z9%0PS M!T-!E >U4)VH-B1+;F<$.:GQOZKW?IB\ ?GF@A\T36HT67?'2S0C>N!.B"PV MB)WFV8SEY>1HXL+M(BO*(!0?72R5<=HEJ/*BX>GNZN8MO7 L'Y8 YW4JG)_% M.R8_6Y9DL"4'FQQ7 &>W_HR]4\H8YF"@P?ORL@OZ"F:!XX$6S>2 "I)"^%>2 MM&1+%'9RQHH@ MPCO,<#TJY6E468*>B5X%[[+^]7;/O%_5V"[J9'4/.+]C/7N>-HT3 P#IKWH_ M*$RR:$RVS#,(;_K*KS$"[3M_D)#]P=?R]Y/^8\\@:2X%'@RBRL:U ZT-@ M"I8NL52 =_6!N_(\N:7(55Q99E 8DRU2=U[NST=$V=:L8D*/.;QK>(\1)4.# M)FQ4D?$*YP>QE=U;ZRK".LIS/D9NB>YW MYL-#L]J53&?$YDC)KP:^&?&U'+K@VIE[)$6.TP2.TW,ADX'":^T/$UX1V8C. M4I7\3)A9PU-&#Q_SOPN=XS[YM2;Y]7![IE\HIDO+HP,\^7?$7X1 M%5(RM0NR"9*7 #UOW903DBAC5W5:EV5]!T_VQIGD<,#8SGGEO9419 ,C_'THG^ZYK:.U^Y=_+^O%=YWQ\!_?FX*7W?'MDVZ= M"#:[4RB2/;3!9OQ:XQJP,VS[#D;U8E'/W-?F[Q)PXB3-]>B+!VE"__?E=TG7 M:O'W_8-^?7CTYTX1Z1<-8_]^W7>VX/#Q[_J>]N$ MS/FU9OK7'?%O-]-#==#^[)/ELBR"?S]]-R^:_8I8/^+'AP]W>4478XV7RW(7V+L3YC=;(-W^P-?+PZ1]TB?26PVOO][QQ ?U&!_0_<8(/ M8!]H(AX^>.SDV,7*)3D^7_S!Y^073[FOOXV/7KRX ,FZ'<\D#;-T8X<,Z^Y MB!80&A1;M_DU-[8%-;HO>D$X-..3X]FH<0'NEUMQ,CUY@D/ITSZ97I(679&7 MDS1Y>?P'-X2[=DEP^G)P_3KQ_L#Z=MV3:GU6W1U&@Y<^?. MQQY1Q=7EEVGR2P^Z?Q23'."F[3CJ]D$8'76+P^1%MG0.B(O"_N_@D?;"/VK9FNQW/YZ7@-0E# M[C[)\P9]24I5;,FS6+C-O1' U&,*5HJ[JCRC_B)"D1;5U>GE53)JW&^VX]3; M1V'4)>BB\Z:HT^0DJ[+)_M#;CEEYGH^:)35L[.MA6WUX'3U-'S_Z>G]X;7^XA0SAC'967 @;CY<0SZ#&L,/M2!+N@S(RA$T^JZF1Z61?#=N.&7E5W_IJ MV)./",D>[D.RK3_5GJ1?/WZZ/]6V9,<]I]Y;"J/6'6]M5@H)@ G8/MUVE]"R M:#I.T/D&25 ^" MSX=?;]P\OWKC%W)^V]:-=OINSLVRH(:/\S_4#;M"HS4Z::=+XH-1XA=0G+ZJG45[DLC%HC%- M/3$2E)%9UT5-WBK/FH3I4[N=> ^5M?2XJI;NUQ>@':+F<#J8W#L\^$GZ^=RX MID5IB?8O3T_HBY+#?\B=?8OC=<="X M3X7@)-"MR%0=\50]3IFF':W^S'KA)A9L_.$B-"7'I7M,X:LR;9U50D<6_;D+ MR,&"\7N"FDS=O\/:;T%N5+\KB.+"K?$G1^DW1U\G+=IIDFF><^J9.,MJ)ORG M[5*X)9*ZI\_*%;>M%I6[N;LUQH,U0]P!14/<7E7TJ(\>I,*G4!&I%S3ALX4P M+BVKDL!'3-"!NY'B<"':J(UR-/]V*VQ/.QIMI4 [^DANNJ<=W=..[CKSPJ/M M95YXGIL[-7/WSB! S/P:;DK@B>/_K?NUSI53(^0>@39F4" M,5H^ 7EB/2:F&G(?)4"HB5^!LM=C=P@S.92*<7N:M8JHHSSQ65'=UN4M'Y!$ M!.7Y+'MWV\>X6[*Q'Q\.;9?MV-DOSUZ=)I?'ST^O_ID\.[L\>7%^^>;B4R=8 M<4$7^:N$FR#FN]^%H.B/]2[-J2\N7W>A_^2 M/_W]]?'%57)V]K>OZ"=_]RMQ;\E^=TOV9)LMV?'%3Z=7R?/SB^3B](>SRZN+ MXU=7GU]"2^/\57+ZOV_.KOZ9NL]>'%]!:./\Y*GB;'LYP$"*ODQ8L3SY4>?>)ITY>> M';5=S49UF?SI[-75U>&?DG.?F- 4#'@XR[IEVEP2'M(,8C2 M%.7G/CMZ>'CT]# Y7H2[@-IR0HF0HZ>/TZ???I.T-QER),N%TI(K8U=#(/<2 M"9 X0W-$*$[GT%;YM$"2D;,I;I(GR4U=$L/Y+C$JZL&?N.B8F! G+;^<>5;@ M[?=F1QQXRK.V:Q*MCXB:E1*N<.4G=<>3GQ-!L0L3YBYP&&?MC;FUDC#VZU8) M5JW079*^V!C9-5 LY@@(^(N)&U>%F(.9C)GL5E+3''IHLHX+C>_<;FPE^TU6<-V0@Z3U]E*!6#->S#S*0R_&1-44IJ]R1?FD?L#.%26 M'^'Z^1 G1@:-]W/J7I>+"46IHB#ZF-_+M_G/;Z(K4;U&Z.I-SX#$6YA9K($E M%HKLM5&.HMDDE&J(+C0GUMO%S=H-MWL6Z9Q*0!Z@HUR/PZN5O*Z;N@%T.^,7 M;W?/O$N(?A$^([)T?Y1!MMQ-B"0US"4V3&;MK4JEHGHH+F1N#U._<'9]37R2 MBVA(V:Q>\HY=SFFO?W;T(''OL*1-Z3XH2OOP#Q]'*1%AN^8:;+ABM8K'%<[E MSN,>)L^YPI(.?:KIG';9SGFQN;5))J-F73]P7-+-./WCGI2(;]UI3B#YF@B' MW9F,-S5 U1FV!9W3H.^U>V']D'=N>7^830WV,SD.2YT.N+.V7:*:TZD]W7S?55O'H4*ZR3R-L1QKAZ1:G$2Y.+T\O_G'Z[(\6X>]7 M[V^U>K_>XM7[\OC5\0^GI!W[^27R^6\N+\_.7R&SY3YZ\<_+,V2TGI^].GYU M\R8+O@LC9S=45:NVL)[ MQ0&61=B_PBI[0!F:OA:P8_3)O]TYO"#Y.,+KR!]*_7<0>FF=TU@O*5=#/G0V M$2C/OY95%\OCHG4Z3M^/%K-Z7\YKS>.3'L"M#2"Q>V#-&!NFH*'4>11 [C3Y ME$[SV@?B\CX[N0>1K:!@@J5/G$?!0WM-I/5GJ3@C(MC2RB@/C7_Q>>OBHVB^ MCLU\!6W!DVBN+L)YDA&TD5",>PEWSMY M4D4C4D6, ).2-ULW)V[)XI>B9, J7W2CP]]!^&T/^UH#^WJ\AWWM&NQKVW() MI*9+LE*_?QU*-S4=J;02W0F<5=8.+3N%_!"POQRW!A(%TW+ M(E_BKX.LB$,7+O 8Y*W86:=/O1MV(^0.N+%["*RD MDEA5X$%>8]_QTZ@.H+I=,JLIMG#^+B-%50M^ G M,A#5DL3CU.%1Z.N\EJ@]@TX4\R,OK(EQ0QB.,FH+NY*2[#8K2JY&PH>"!ZGF M2D10N?-.*P3Z%A.:#JDLQ\J8O?G!R C4FSXAW= MRE_#F<2)_2W_#-JFXQM8/)I["!BB!(LZ)#UH1J\SNR;O?B'#(M]0;WOXJTWXAC)]C7#:+[%.X.ZIEG.A1Q5M<_ P%)B_&RS/Q _M 8L8TA]@<#2D() MM?B[K=)2#XV/!TP/32=BE.RQ7$ORPX!.H"&E=A?@T*MUT19-9+)PPW<;2L_+ MR"K_*F=F4-LX]YQ4JWY(_B'](S%9]H\) MO]FHJ;-)WCTH]5=6#)16+?6KX=T(5]3QU2G+\684J,EJIA.JE>(DI2=DR6^^ M$TD[N]B0M$VY7L'SXLP.FP'W>&,1 Q+IX]+_$3N,$?!0F)R=SO5V*3J M)'8OK**Q"Q9S 8NR:$2+V3W1)'?S.>&(F"1J*_Z@Y893KD$2MH'$YZT13X9VX1K7DXQ@.9-)RN!>5YFH(P-UX0NK-)W*HE>,V"DRPZC8MD.9<" M/R],)MEQ6WZT6FN&@K*PFZW*JT0&HZ$SIA&*&_/9B2"$%!'7]W3UH$R[P^E9 M'N_>.Q\N'O7&;]-K8%*A@EY! T_B/<_I->\)_T"CK/*[-(%/-Q>P4OZNP&.F MG0M-LU'C!94#OP&%=//K)N/?AD!%K7?B[ESQC/;F2%.%G)YV6ZJ8PU&1:3;O M3-YW\#[+LQM M:OCCN1F#V^MA&#E^-G633Y87[Y1O.R_=T>H!7]?1:]J]O7W&,SO/6O'O[;ZE M$Q.'Y$UQ?5.NPM$$(]WDVG1DSJ&:3@[RW%>ZI.JI.V7<9=T'N7=9N[?ZO+6K M)_+?@1:*0RIQY27/SU>@HYD.8QDB, ?DGF>4P$!J8EHN*07LB13@H"#6HS2> M9@#9>X#@VJ3;H<20J#!.\=Q=-C@S3QJ4M-C9O:&K& MNFW<']%$V,D8()#5BS3X\3@O^1T&Q'$[OG'OL\3[+,EW=,<;U:$XZS:F7S0X M*"CTK=N%.T\T9K5^JW<1Z1A%!*U_H,C\_['WI5UM(^G"W^^OT,DD,^2^QK&\ ML/22?3'%DN8W5DR:T%POSZ]UFJ2B597D@#WC2GAX MU?KL MJPLDBGT?;3[]Y&',=.Y,RS(:66D#4Z3M6Q@)IF\C5)! MDPU7'EZ__KYT>8IG_"[834H&9,;7V%R)M+IDPII#1$$ $\C,=:;^4]BWM'T7 ML(J404/F5)8WZ>CT0U 5(TV\^B*Y0R:,\LJT[@5K.N]]EA(Q*9E$-3)U*V4# MM-0B"V3(PY@^EV+^>3:9Y7%+&A)JC"BUNR)FA)3DLGR_*#12)@+@(8BD."CM MVNCQ7F)5#0F[3?B06Y23Y,Q54^]+\H5BG9S4O<^XKZ)UYO5-&5OAA!A$QT"9 M,&%"&(T/A T^ 137@G=*$ A,$(3KI!UKEX>IO6FR:85!9 MUIX"]%6H2 L?&+.A!P '%8G, 5$'*:=%39"G4>R2J)V4JQ!*F&"IUS+R8!"K M(2!"=C14$VC"?O[K@A"F%D0&$%<96*;NBH^=)APY@YHTV]]G!A%8.WY;*['" M*VDNF$$R25Y(X:MN.&7)"=YPX7T7 *Z2\$W.)^!UH M@:A6L<$'S@ E&C&697( ?)$THM-A\ =652*PP*L2-Q3&86;3F-%$9!Q*T??. MP\\[X9B%'@F,@K)DDM58F*LXB!EQ$)TJ#J**@WBP=_1!'A 5!T&DY(IIS+WV MAS@^)K;F#(7QTGH V1^.5$]DB(]0W+D65*PFAA/,8U3$ONIOIDV \'#4U(@C$9JB;Q/ MSA;#0#FT4KHQFRMIQS'R!Y9ULMEJIEP1D'%.W;)8O&%U&X% 9&3CN@J.G=+_I@&DCB&ZTC!&1DLF&U*N MDBXB<>OX9%0H:%-23D+A$R.&4&/,<%E/9<3%UO+F(10R.;J628V(*+N];.!A, MEZ469[5'K:OZI-ZMUW3IC>PKE:P,\([50&DH&3^)506\ =L.*/)[/QSNP[3[ M*)-HH0#(/_KRN=YZ+I*RR+A+.#.S-DJ7#.(4S3="1R#&&<4R=D*U=%&$9ARW MCX]M%2A@-)DLJWMJ#$*!D4@LX,3'>)Y9H7@D)%A)!/VWWL!#*L'9 S#>5?I? M$.*L$Y E:M;)R N<_-*X+@*I@4Y.GL_#0+UI:.WFDW MJ=*)')J-7" Z(\-B(SGG>JN"+>C-^$;B)+D= = 'RO$**\'D5;CX\R!7Y 6- M[#6VJ@ #4SGK*C.^<&A3Q_"RV:RWU1$LH+WS>A<\!C%8%1$ZG:Y:3&AJE#[. M;%%YVL091QE),BL@?*+ONNJ[K *"FF!(K1JL$%.7\[2)0;\P .,2J*M2=I,H.U;APZ$U)2".JS MLBV*.K3L6LMNH@+P%>3)=,)7B;7:"7]\]4Y,=8\H#(0:/\BP.)2..)RD=)\J M96UJ!29N%C"PTT(BL>N"SR6+LS,B+_-9DBILG^7'9%3+(@:DOP2T7X]J?2,/ M[T?"^4J>87EM2G3N*_W7VB-!%T 1&TX^>U3[@].AI=5JZ 77^*HVB>6MEIVB M99,(GK*2'7=>+3(>/J!9S9+)V-G"?V'!2B]]5IN@[UU0<6D$6^>.=:FEC$#=$< U^?M%L+K9=/\8!31OP&9OV ME4D8;<_R(UK/#Q;%V.L/C69ZC9J%_[U>LT9;<+__)G[?0T'_F>[7DE1HG]&1 M#W+ZT@N-9K82R^?WP-FT60":U$0(2&63/27"+K6 #9VLNL#J JL+K"ZPNL G M$BH/5BQ3&K(02Y%YL5$]QB\N>$BJ:C.>6CL)](0BVE:F7%1R9H5CZXD8=O-- MRWZ#5:G62S.K8&>#8*=9P&O-1KMF-5M'\*/3>?VTLGFG0Z)Y5LKF^O_'],:KL386]P)PG[U> <_'X^> M8,)II?K%VY?S9]>M/R3PD0?E:5=TT*D=MCHK/91GOIL'1P=KO107F\O#*PMXN^WZL?K M@OCKI81MNX.DH(2=ZCH:6ZZ*K2TJVNU:RVY4\M?*)US%W=N5_+5[E]ZH-5I' M%<*O?,(5W'VE;^W>G;=KSWHN')SK7["E%JV>]:7L4NW/UQ?;42=X7O*W!E M'1W9E2-KQRY]_VA],'V]-*P=$*:ZMC M[9@7Z[WLP]55?;@J/6M%INUFK=.JB/'J)UR)6V-]+%YK<0>[<.F'M4:C,JRL M?L)5Y.=5KNN=N_,.L/?5^K+6\B9VX>H/C];'LK)>RM:..;2N9 _C2L=:D86S M=G!496FL?L*5&+GY>Y>H[F@P\Q2J6K>N_EAB\].KM9JVYTH#P1SWG M=;W_=5W7&L-E8Z7:Y=+K?#ZIM +(51/*PY5&;>_$_:_KNM88+ALK]814A+(" MR/SJ]]J'JRP?L/0ZGR\/L0+(E5[T?JN^2BO6#'5V;0TM,O+R*[>;K5JKL: M2*WMPM88-#OUE=K+RI7B4O,$_-8/!_?X,?SJP%[>6OA[/DQA*MQ@B747NY.K M*YV432#'*PST8S8YS9V+=)"!#G(2,\RA=4@37H>)XUMN&) )R4G$P(JX/3KL M(;*2D;#NA1-9(AC 5^^%*\9]$5DMNV8U&\V6=>?$UDM0V$ @XTG M3@1/)R%\91_4C_177H!O-6N6@[^[D7!B885#Z^5!O:,?@FD/7M6M:YA:/P,O MFLNBJ6%F'_K"36(]QL :"#BN 0T0IK0W/!Q CSA!"UJ: MP.RQ-8S"L>6F,0"%B/!U.H2!3&YV5'*SA4-YNC\*WN-7D<2XM4$-U^-8OH@! M'"W /A$DM=D+P5%EUA#C/&X2PLI*II4'-X0MP.-_IG P<#5R,M@KW&<"!]I/$R$'TQ/" M7>*K[CW\[<*)QWYX-PCO C6F. 4TMB*@8Y[0UA)D,"](A*(*($CM>*)G%\: MUV?0J.\W$C.KT#=/+#FY_>X-MO?WH#X_2C-V\M_@F@F\;Z>A3ZP?,(&U_%O04X M-,2U 1I98P% [A)@.('CW_^7Z=@8:$8*] +!8N@%\"B2%O-%?"H2<>HGA%XA M?$>KC@EW@#K"LO4:8FN21N[(R9:5C)P$@7#DW,)8KBLF",W31*5NJ7W#:B(\ M&V0[?:*:H:3$P*3P*^'="B8W>CR@;BDOJ"]\#XB$E41P%HA_X#@+\$K%PF"9X A(ID!@'0@SX0./$&0[Q01_&]/FS.SYV+Z CHA>(6?HGAB.1-8$K UW+6< M'L;U J" 0.ON]4GSJG#RON/3E>4>@^6Z3@2_P#T@#;B!TX/S!/BN6UT@,\ + MD9# 2-E*\ S@_"5UU!9;XF8.<> Q'(!\>PZSRA4 S*R&)!_%# MO%9? *5)",6(%>(YP3WX0Q $QL0R?>\KDN.0)0!-RGAY(EM";E,20"9PL#!( M3&?BC,,T("H;$ ]B_J&@$OF,F^ - ?/T ;UI/6F "T' XPO,8$YR&'AY0,LP M *Z?'8H$-+P6A!0BL2:XX!RQ!W0&Q"MDV@@2Q&M"XCY TW%R ));D9U/S(+1 MV/DCQ/0_!6/]LH/ H\6%\/:8EO>%.F'X&Z]#,K$ ;L5*[H0/D\%%)B.8Z+V8 MP$41]O!#P#+'FKL64;R(W36##XV=>_Z2[J+O^;AT6(V+@(I')"\?=HFO^W2] M^-<$>.,D!-+BIE$DB./%[D@,4I]$ A_V"3"-MP#K/072"O/!J#&J G=B]KPC MH-("P986X,L+$7!<0_@TO[5IN@5G"J_ -_)U)CV.WG#=^L@7@"!"\DD9=8Y$ M&9[Q0WBG0*M'X2"$9^_I_D'V<%.?!<22\08AB0MC(1(EL7J!1QL+<5-!&.Q_ M['8OU$0UA&-:(5XK[HFI..T%![CJG< S*"N!+) XV)Z"2#(P!]_+0%@X@)3P M-DX>B3]3+R*404IZZP&:SY(4GHJ1#[Q;R_6=./[YQ<7'=[^^F-*(426>5@?E M)Z0?TT!^N+U_D^+=4JUV 31']:!F3R/=S XR&^U%XI[XI?H6@9%U\ M//OR>>X<\^6LHLBB'-E6\T!.^@9F56O+?C=_'6EG_$7W8V__W66O^^M^]\-U M[_('X%)WSGVLU'P,I4=Y)7>X(\&'V 2-VI(N]K\UZ']EWG?YU8LW90?^R_OR M \>;>XSCOCX_^>0%7_4I,3 M>5+&;^49"U/ O:2=0L)D<<.KL ^0T@22R1UI M,6C[@+4GQ+&344T;"5!1"P?(X :@FA#Y=ZP^L+6OI"I)GE'DI$!II-*Q1WPH M3&,@:?'KYZ89O"\&Z9]?-%Y8"!O20*3_1K5?_\U0!/3R&E_5()JG(ITBI6D= M3#*H/>Z\6H3,#[!X$:S Z8N R-MG/+PX64^W5!H0]7UY5V0'D=?R?^F__+1R@!3U4!5B3S5D7?WK3 M?SLG_^K)8J,6)UU5\+2>\'0R<@(0ZM<+< HQCA7Y?3)T:5;H\B!T07/S>N%* M!34; 37-"FHJJ'D8U+RL0*8"F8>!S*OU ID=S551MHKVT:M5%>9@X!7-6-_A\]^WCZHRKBNOQ4)\=LN5BVMOAGMVO'1Q4#7OV$*VE 6.MT M5IEQO*97L0MWWZZUFU4?PM5/N(JKMZO&9#MK NNF2?BF]ULE;JV,Y=K'J]5R MU_(J=N'NCVM'QZLEO&MY$[MP]_82[W8!PO42M'3!N??*&PKIRJ2A* M7 EW:6M$>6/8R6ZXZ,37BI!_+! MC/;(S6/CJZP],G:)S+HCV\WZL7JHAKW5 'SKUGG66[*L@:\>8@ #M+(FS+7I M)LGC?"8UG+7:-1<*%3+*^W59.=&C[U+61VES*;[@G;G0K5.]D/=', MULE9=^7"6N8U:,:'IKM'RT4\=Z.KI\>8;C*-![5-2X=>M&X MV+FT9G3NI(ZAC]N5U#P3'+V/=';(#5EEITWJAQNX=.2YYMT1PC/L(1Z%46+" MA+PH7_9 IVOV:"]9Y^"4_M*=^6#L 37%S3K04\M4X_MBA_H:KBX2W.%7+S() M[YP(7I#0:*R*;G;D<,M=09LTAL4UZ>;!71R2&TK7ICK8,O'%.XRXFZ]L+QH M(L]G&EGVT=BL1S^\HW$3^/($?[^+\X8+N9W M)ZKA#P2,+U\C!]D[XO-')A=73"Y.B%R<@-23X"-)K%N/R[+[VW2:@ (@>\"N MS]TD1"[!'(O/"\@SP"4@!)\BG97\E1HY(ZE"N8%Y$9\K0#40!^SX'+)416,P MSP%)(=?MM5T0)7J>DUBB9<'_SD7!(\M-$GM 7>QN' MU,$37^:]XMKA.,0DK5N/ M*)SC(XLD5#<('PF+&?^#M0ZQ^S V'H=#AA-/6#; />O% 0URN1FTO@AZB"^[ M+VZ<@,8=(]3CH0'9NPOW$_AO% G9&1N(S5 ?P0Z[7Z5' :EB$2,);G7\^%E MZ8ZHLMFRYML^]:#F43)Z#H^0D$!,'GG,T'&9'^OK %X9\CBZS;T>%&668 , MS&,I=>([KFIT[B'X"'\" $4=W=5Z\E("0ZT7F4(M0J:'C5JB%)DUG1&>LD== MU$,\%[QO'LQ+4H=OV0]C9&!XQ7BEP-[O$> \^=7LBZI;OX1WL+%(<2!@R<@X M 2B<&-;N!*ZY?#TC;1$YQ1T GU =X]TP]0=2R*%IC$[@\F@')"B2&+1?=&)GA:$5'5[D7.G+R.65R:DSNI@;_(; MTGZ'J'Z2L Z8$?7Y@A>(RS0 :,: L #*PT0PJ".53Y0&>W+^V^G[??L8A!=@ MOV//!9KM@@P3WGBN%CECO5H--B3 .=97P& DJ/M%@@K/OA- *U"[0C">#"((F M 6UD,!@!4V^4SN$MW%!!M@?,_(;$$VB'V)>TDT^8SRQF-3M3"7 !BO;"Y&P0 MB$PY6^K7<+LH"N(X?Z:@2PV)L "14,S".$!IJ5&3T:"Z S4,E(3)_02>=\83 M7RU(6QA*QM,Z";.I.TO<.GY*<$1C9ZH*LCE?T+' J:G'@$ HN7_D10/3$D(* MS3,3AUR[]7>_OIBRE**I=-I(F.]T#1^]*&O?_N&ZO'V[:OME3/*=#=PO/IY] M^;RXM]I43*0RG1;)H.X$WSR4DR[J F_]--+^^HONQ][^N\M>]]?][H?KWN4/ M $!WSGVLS+\8@HEB>>YP@=O2(3;1AR2]\']KT/_*'/3RJQ=OR@[\E_?E!XXW M]QC'?7U^\LD+ONI38F!:\J2,W\HC7:> >TGKM83)XH97HTV@]3PA5G-'EHDI M"8N,E< 6@&BZ\12;07(:@(2!P$M"(US^S0CH-1N'B+*RDDZB3M0NI=T&[-ZPW.A6"#"6V$U3''Y:-3'"MQOHI RZMRB=)X MA]^1K O'?<.\#GD*;/QKK(Q=)C,* *!N075#-0AUMHR1$(./E=G1!(V::2MA M412& ,F:KB OX. JB:;@LTJH0>@:W))X3-8SE(%-CA0(.-EL#%(R1J3ZB$ : M-_%,Z"(8"D" R%0M,LYG5\2<&*])7RUL [6:G%T0$8'4.C33PO,P?4T!KX8! MD-B_9HI S@HV]/!"]/F%$[XT=;E*0LD9+'E&THM(Q@S1 3 ALZZ4US+PD<)$ M7NG(X8079%R?Q7BR20WN R A+NT%5C%$F[$S\0:H\R1L$ZMI?(I35XDLN$,Q MA/4G<0ZB"/ & Y1XV8M &D6L5(I^&J-_(B;\02VGKT<=IOXTUK&: G"?=US0 M^88QCAMI&W<$&R>A7.[35)GHM.![7Z_=(9,VC9:SM6VA9G/ADX\@$D-!M/4" MA#7KM&:=@KIOV5WM$KL4$[31(E J9!QXL8NR>1@HF&-B 0PU=#TR"6B UW>; M:8FF+;?\121KP.RV6K-\F+'S,E.WS_6AF-;+?@1B$_]$!E"JGFM/#QM]Y!>H M"XD;5H60.]R( #XG7T7!G ^:!)EMR (V$#$PQ[Y21(5U#A3FUH/#B04;&9Q^ MB$[(*P&J!U*!#&R8R#N!X]_'TKPM',!.N0Z)I7W;/_A#W TJN3!VZUVS3P_F1ZGC/B3QVA MI,^&&XK>"?@VT0]$8$]H TN6;VTA='L/@>Y_HWS7FQ%K<&+$%DLV7S'J@#OF365L<=6_(/DM[BI>*Z,A';]BF MISF+W@@TPZ7PC8-Z1S\$I!.FR^=/^;WZ=S;!Z]P]43*C/"/>.:A(^%AOWWF M)I=!!4/O&U(L35]8L,E$U)?VC- ;OJJ1(?&103HFOW]&"^WF*Q*])=C LLD- MGEN6Q1[/>_;4]P6Z].$:XC#J9TQA!#J^B/1 )$_%*H*&J79NK1HBIJ)U8C66 M'(/=GV@KQ07U@2T-/7@(A7[T0E'\"QP_:">@M0U(LR2](DZ8F:$5''00E%Z6 M6>A4O(,TT=/F0I78,-CCP47 T64XJ0(TDT4WL';Y,[5J,\8D#?QT+;1/#U04S$1H<,G&)9K MIE0>4NP9(_-J=)#2M1@!(-8M/"UWS%::&*@5>I,%.?@49I/B+%TI2IG&U>?4 MBKHI^ )8]0( .<&V YS@@O5F@ ]8<,CJ]#3(%=^2VC;@>/96#AS_&C0>&GQS M)C >'=<:C09'1;Z:$=MHOF.X7C(?>=E&X+,_A SSLH8"L'KB> -VH*#9GL1; M]F(![?+B1.G6N=-@+5^%&&:4D:BEC"R,X;KO4,P%5N'DPM(6T_610]PO0'.= MM -*0%4F&9A'!MM)B8'/F&QA<%H8SL1Q,JL@;Q]9B:(==@=C+_ PY(2B>DSP ML\SGG/QS.8!KVG]-H#LV7I\)*47%U%.ABAVC+(Z.!2XLGR5+^4U"\EC\CU],, HQ== M-TJ5_92"+_;[1(41$&!%[*!30*5P"6"K*#S.P.FRN&&'S6R)A"IGC)?WW_Q, MQJ50B +>"M\D*,,W'H6&H(@D66!^1++0>LBD)\X]NB]@VRDYFI43.]-E M*.)EF/J9@S<($Z:M;*TT;!$X9N"BYSQ.X ,&@VT4_:@L"V 9 )ZD@A^6(&AY M5 RE5P#'D 2H59Z)T"$^FAG5T8;%C&&>(*BI64$"1%9H3HW$.6/-B;:\Y:-. M*<0(4)L,S&R(HNMWXA%H!CX*/;&DM!KZ2!V3& [25N3N#X:T)C*0(6%$S^$X-_YQ](\@1 M;GD"XHH(0';G%<'G%-^V#_47. *:+R7/ V CVZ6Q^M*U1XHQ6!@8[P!0+4'VGDQ0//U6+9E _)%-$1M*^$L,Z \H%(L33MR[L< M1.)XOCKS@0=KC2+U=E"- Y*GB5-8C3N6H MBE.IXE2>UJWVR0,I<: "+TZR-.CV)92#_O>MCMA6-=4P@*RHGW1DJ;2C* MD_%SD.A*2(P4)&;!+/J\I*-6^F<1U QW.2JQP.YL#G]%93%-.&B*GCP! 0-D M@@\R!+]4=^F#MGY'>8##-!ADRILTQ\A\@L"Y*;)["OT 26&,H&9X,+*+QI15 MXT#*3D&YJBE#;!_XR)@'P%P(CY-Y.0>VL&!:5AI+65DM/K-Z&N=$%LN8(A(Z(YF0"'>"+N.UZ$QU,C/E< MAL$7K1 SMEE4H8$"2&,B(MBN8'U=W$H['L,XK/,"EG;B; M2 ,"Z[-S#R*PH7@(&0T)&B(9K;H ZR.Q_YGST$_A^,DB?D5I@-V;2!!(6'M( MOE\4/GWQFHU8,NA "^5XB3*J$B3N@74,9.'P^!!0RXF$CMMR^188C$?.K8H[ MOX'A;U@Z'K*%G"+CVR"R&6A(W]TB3X@=*(&4Z/.,YFH@A#4BO(_%VP')5-OWT,Z6&( M6Z .VXRE.>$.& :KK8WEU=9\X%P-56Z5@6EW:AE7SJ$^ MZG$ F QG'R\GW^ MNS.>_'C-LEGA 6V+=P 3,X\2*#C[('R%/J$PA1!CXC,&V1)_00LD$Y"__^VH MV6S\>(V?XC;I;_O'U](2^]+.D#L;T&50T-E[YDB7^BG-1TC=#F\$H1MM"9_7 M4W)(JGR] &5J.;SY(H-"!Y$#-W KS3L4#8ON"&G<(R9+F8_*Z''BA^2F?*]" M4L6W"9FBIV_H@'WU>&@Q8T)^V=(D#G\BQ:'H:S25W(5L#MH^<@&\ZPKK&8PY MD;@F#:=W0EMHG+&00L@4H((@0<#..9(40W=-#IPNOD./P(==.0 >/&A@"6$8 MC82?J+8I1298F H]WG(<&9]2F"D'<&K*_" Y-"@,45S?>XE>[Q&],O"PNW7K MBP:;\FEX)20HIV.0_YQ >A)RZ03],$*?=QD,9O9E8ITF#2##=R-S,RL!/W(H MG<'(-O19>B1N7U+AA$9J-3)K^+*[2OBV!M*NEE\Y'^$4K<@\6^3P&C!/SN#. M/J9%'>9HSHG"^PO"^XQHE!=LD:YEBC*GHZ4;O9=';R*[2?ZF%ROK7] 0%#)> M=D.HV!?T$Q8^7.G.9#\U9HKD\&/V\3(MA-<"U"5\Y0Q01SR+ ,]Z)]LYT;J@ M?!?H6213JO1BY$S)A)CP)UH] DKK_\!<$19Q*>N*./!*\!7$"V"8''4KV.(Z M\:GN"F90H-4!H9%I4$V:0,@\$9#+%3T@O/WRHRD69B'/[! +HY _O0;2Y@U[ MUDEETZS;#6\%_)[DXM(=C9@D#[%\:7)^UK@&HB\3(HWO>N].K]]W\16$LBSI M'212,NK#/\Q@.4!,9I;@,LC)HR?$MWU.F8"W[3K@-[\N2V3U?#$E_M'.R2_GK.$?4(T+B6D:_-]_K$U95I MOWZ!R7_'-'0CV01RQAG(M(UL6E?[.#)DS4$$X[^T,^VI#,\Y(\E1E20*'O3? MO($(_?#FWJAF5E!>-8$@W([OG FHCV7B+!F ABPF$X?(S$\"@T&8\&,*,Z9W M(8FX<;P !A[ZJ2MK(I"@G9L1WN8H6@HQ!D3?)\$P$DI))*PS8Q1D@% ^P8CV MS@$;^0WE$LY@3.D>PU4C]R]ET;&* DT*Q;Q:]>:KC)!*,U%&Y[81,C4B-X^G M0//("(E[.&P:T1V_(\=E_D[@^1W F;,'R-N5:96/!Q9T<%3NI9S$ 166.A)E<5@]=]8OE+_S3Y7H#C7^*IVZ.9][IVB7YX"4I2/][CS:I'K^P'5 M;>D"/7()HJ_UFW23_Z2KU')WA6SAOP@'MZ>7_M0-%U;62N&)9W%#A(S@YQ<' MBV,<5ML*Y/FZK)4=0+[SVD_]MR99UO7UGO8*9S0C*=YKH2-)A3-/AC/-"F<> MA#,HO:P7KE10LQ%0TUPOJ-G1GD]*]#LX>K7"KJ^$6M*E9D$GEM8* M>I!W:LV#57;!V,76/>L("':KUFZMLM/.NI/M'6A0_7O>;%(1Z#7 RP/L-+W: MGO$5@5X'0&BU:O;1,S9Z?!"!7FU_JBIE:4;*TG&5LE2E+#U.9ZF7';.U&59C M:+VJ+0SF)Y?72/@Z)T254L1 #V_@P9JF,A.D]W)!D@#'6NBL AW*J4.@5'N, M>R.TC)V?./*$>/O"Z0< MNI$6Y10D63IRKL(PQ6BF676(K$8OQEK)&;.P.QE(Q0YMO9]0U=;I>G,HOL8F[W(I6;3 M%A*0;D1X$SF3D:P0+)LF AEQ BX_I8H#_5[LH(!O8Y$;#*Q;%@TS0A4YP4V6 M\?WRR$@^(>>^;:2CF!T+N/ R!TML$(6;1\X$;/7IY)*&@K(H2BN<&;.8U= STX$95'55*9Y 5ZZ5>6)PYPEFM)!08':I;9DT]U?4"&87Q3+,@R#AJ2) 2 MB^/91F'F@5DTN%!/-O:9W*HB:JK-P51U6?7$=/MJ'4OIJ'I2I:U^5PJB.\6+&03()+F)GSYBHS9Z7(EBG;2;I#5O:0U0$)?:I(J^Z@ M8_3@"M SP]UT^:$LU22O"U!Z6(#%',SE9.@A$YZ1K89<:S7KI?(&D2L,Z(S4 M_5'T<5^,''^8Z^R[?4(DU1:[E652"MS TO1?55OU]*-9?4NB5$MP@ QF:OD> MT6;1[JS;'K>$ 3R06@;*6A.=((:EBO6CYIW+H1BL1R&W0@'N)73%;(0^K(2A M\WM5(8ZLYY]F<;CG$R=P!MP(,:%(;;40_6(/P3X* WCS&I]0/0^F%LHE75E@ M376GH()NF/7L"<)('($Q3JT593*W]8U8@/<5S%= M9%Q\$Y'K<>U$U=7*Y/^LJV*A$4P-5W8W:<0Y;)<-FR-]V?M9+6ABX!+TLR$S M!=,+KGM7U]:)-.7BT?7D8UQZQKI0R[OPG9*KH DR<1G2BB+IPXKZ% 2?%JY4@)I7P"#-;$)@G6%L8A7/D).S< ME!4&Z]:5K*4M?0L97N2AV#P+1Q6&IW9H/M:D#&+JUP9GXCIIK ;T(D-8=\7R M-EKVVIE#Y1JX%&-ZRASJ< LOHJ%F:18YRQUL^'Y_2"$A9*>FHL6RGSM> M*S4'R@Q?R]U0#E",ZU*A !+\LO;R>6N8*@#L>T.NA8V+,"L#>]AS6S:/B545 M0=D4AL400U+1RV,G^'([R!HZ:/""H\0U$,)E8B*+DRQ^&U"=LUSH6AC%-A>Z M_3HM)'9)#E9+H(:\+9JA.NYT5UC@\M*O"&D56\5%K/*=!KJ#6)]2./I%V MU"7Q?4;EC=^U',ZA*W*\\J)P61\=EB"+I4RN)O^Y'JV1(]:B0L*#2&SQWCB M>!'7?F*G1R))H3_#[UECAL;Z.#D% D_S,E3-J-H_JOIL$"%U02D>J#*:&A_7 M^8.)!G381/XA5RR4$6I4+G258SU-HUMT7:Y\.*==(S@LVQU M):.KB$C%),8(.I,L@:??PV<& N.+ &AQ/]S>B/@)[A8N^2N@\C[RE'VD\7H/ M0U@$\W%20XN'ADVU=/4ZC+G4NBL;.8#<#VM%NR1R@_)USLR%^%=@O%>B]K'B MM#(-N"&HOO_%2[V6;1=*2NW_U?- $>#!MY89G\Q[R\D1)56CY"XC)CHHB /JG28?59S(0R9> 37*XMHWQR]L*0"Y>0K98[NA60 M,1ZA7SV'C\0Q==E=@8C&=G4GD?(/FE_'GE$=GIP[9;B/YDB, M(9G*!G1N@>OY6;RI$J;9U:[BNV#KRNTI3>QYTRI5Z@Y]M*.-O73,!Z,HF3;F M+[Z @:GY1\WS-GR$R,*H1#_4"LT'L]%UIFM8\RX!]"SLP'- MS1N^(*F]9&9/;:F.I*&81=M[V3?%& /##TCRR+=R56XD$) \&F I]B,5FPS# M9G$:5E;*ZR<::H]^5?71/60^D6LATEH2:V(@] MLU0SOZWCA:J!7\9?%\6@;WADH"Q["?#-#SLKB4PD4F"=&RX-:Q9O5\ MR?M9!6Z+13<6OK3H1C&#"XX81S"YZ$JDR:56.5:@#!*'N1Z":FQF/,J>9.S#))))P.U+ \N)9'(GW6]C>+$EKGEQ3.M #9!O: MY/)2#=L>%]Z4]':%H+6&#L^R]B!"#QF[<#(D01EX#J: W".^(\ MU'Y>+R$C&;*SHQ;U,V%8J:4FY3>)8@V9*V A!V8X%!2KY.Q_8$/".,F-1O=E M1E&8L0*4#1O^(93M7+$1P(&%4MP,N)5A#T7 9[J%:37M0H;H<1:1]UCD9WKV M-: V58# C !NPH0J ($GCB%,HMA.\G%L'W*PK.V.6+@FL-2R^/XS! UZ47/ M10FS:.$JULG!JU-N+;()I!Y_ M]WKTZLHV;#VON 3.\W8JJ?V5:/I!N[0P.5QGRD/J$H3F&Q/"PPJ MG<1)'&LO[ /LW\KXQTF:Q*]UB@4R77Q1#JAK=0% MDH6.Z%P-,SM+M7L%!LCYKNG$XE8QQILGW?=8B2G+SU5F*=U>2+:;I.@E*E"@ M:BU@&TG9-J9L)1X[(PQ] D9"Z8;C[A'0;D//E=$8C'_Z;3([4;"-SL?!Y!Y9 MOH6Z_,)6>K]1108'E 2,+U%IFOEX+-IATVB_ \M@^ST^)I5XM679WA)W%>D< MWWQQGORQ+M.PI2F%Y!:?EFJ\IEO[JNBDJ3-''Q)H&TS6BC>E/25_IJK$3;Z9 MSLN6D4I=UON0EU.T^,"D&6U43((NRT<5D[5B16.*WB+E"\@R>0EN.(UPSHT9 MT5-&JSS4G-19?*"8AERLL@40?:3%ZR 2WA:I8LAQNEC)WF>MJ%[2R3$TK M*F5$"&3HEI$C3==@T.UY*^9)99A2J]F>#E/B9J_XF-F/CG.\3^3DANRV?73] MH0&PY*ZZ=KZ)67%+UYJ_FFD)0'A%,F+$U4&"68 2RUW*%8:0J)J-HAF:WJQE M.2#H+9N1^J!B *4YE!*1LY(!H8QJPP%D,V.R-<%CE/C&[2$EADBO&#T+@$X^ M!Z3)@*&1UT^YLQ :4"C#@+]34N",+(*I8 H$:(H"D)ZUTBUQ-( 7&8#+-2DP M3K(.X+_<7;&AG@R,M#"]DRF; M>"']9KJ6H-DY6I>'(KL>'A/='6:J;!_^ET(/ZF$@LMS_MV@B]$@>0/XO91BS M1%DII$@LPKAM"@8FED3E0SA'7C45_5U9EL>K@+SKREF-9_. MR.-J)L1#E,"1&?>"?,I(#"N'D8QGDI V86"X*PAR+;>G2J3?$V*Q,T##.2IU*C>.+2H^NAA$@N6@+3Y8_,:(3ESM$ M%>A5YK;D+$(C@CGW?DG:'ITP[04;!N>8??GDA'Y M:%S;_HY<[?/AH"&_VO92I$+NRH]'N5?6Q1 M?@#G']=FT3E?=96LE=0L,0JTP.LR W7=VT*6^5"6;,PXHY=&$D[*.EO(&3KM MN=TI%MG5BV;UA><#*'(*\IMUV*TOZ"EU]_KTMY[5 M/7MOP0>?U-_O3Z]./IU??;GL75G==^=?KJW/W]?6Y>G5KR5;6I=Z^D]/ M_2BFTZ@.4(C09MYKQ3 (6FVRD#SR<0?/GLA3H>8,U#Q:7\S\<'K6/3LY[7ZR MK@ =>Y][9]=7A*%77RXN/M'?W?V(&>G%Y?M)[CU(MKM>XWIU"(56@ M^T%Z?"^S8V LU'R1L#E-D*?9D"-MHM9]_N[(G71K&HWC=I->JZJA;].UGXB,VMS-]' M;)"BM+3,?(UV,Y6N)-W -0I1-3^B^/@Q.1>Q_BD[#,E^RM&+:,TD!1[-8*X3 MJ#*75AA0A*VJ<$7[PPX),GK4P?H :4*?P[EP@2=E2]1U,53X;6%1TBVAHT!F M[)#;P&CC9%;B*JN2A7JD/@WS%L-F8'N$\ M;:/,5$Q5\2P11>@[PIXE()Y]Q3!5[I.!=.$0, MPD>;)(T>LM\V)CL)/.>&OI_&RMQY%^HLEXD()WC>W%C!R'%#UTE$5Y,[T[KU M@=,?:M+:B&9)E8 MG02-VQ=F:Q=AMR;K&U,LG<#*\HT % M,W].*='D)YF0\2PA3&6X(ID=HZ(B)QW4K7?Y*F7@N11P'6#5T M"1F2H2&9)J,@& 9Z\@QP(#TZ!=!!QS7M([P(!/(P=TM4ZH7A2C 8+'%BF!4E M28E1)^][B 67>A7/WA.KBJ>>$4_=K.*IJWCJ[Y#A@'J_ 8J,U71.XIBEP]5^KP4QIJZ:*0Y2"K0UIZ9?*&YX.5X$7",+4,6D.[V86G'9 M).AQIYKFP4J;"Z' ,TNLF2?"Y*_N MK]Q"7)Z26:BPJKV(=R FJT:##Y-Y0$1P(Z^?%;?IEHT:4^CG-2(A8+SRC7.+ ). :E4 MVX^$/@SED0UBV/><-5IK-60$[ (4F=/N^C'0955H^KDH['QT7KW!K8%(WL M5B-!%V.I!NM/,H/:IDAS*9 !1B'1UCI-@< MBOAGG)#R/KJ/$5XQYD96>:(\M%1'YI8/41+W2F?$?\G '%5:E!!0DVKL/IQO MK+4AUMZGH,@4OK"0(Y:R;BV[+-% M!9+^$H![(%9H][7"_NBKJY2&>(0>3"H)Q("CS MGL#Z)":^PYTA!X.(R_J4*1"%GKUURSQ,+2^S31+S07P&=QR;JQHQ9Y(XQ=(\ MPC0W;S 8#25%(;IP&Q8%\SHM3]4%R@J-*'&,71]QIB[I8-7OZFF3Q5*>*LE/ MFBVL<^2JF9IWJ20_T_OT[->]*C#KQH:R2,"A:[FJO S4:=DL8D*A*;&0LT>> MN"X+M*RN2ND(#(VB''R%N4:$/2^HRP0Q56L]5B'D7!S5!,\@-!)4'K:T/6?* M>1@K8]:0_1YV9R#_*OO7NSWN*X_FY5V,IE@BIB$2Q 3@XKEG6Y\A_$$O76H!5+E=Y6" MH+!,N;[I[P$GU#[@-K,E+P3WV:[R)8&=*]XI@J']5'VV+67OQ"G _JTG?:XU MF<6C>OL);9UCDYKZ/%MRR)8YV0% (H5J/_@N=*(!QQN@'!A&<4X4(S\[T0[V M 0?"7^@AB\2-$VG7*"A+GI&=4W:22BTIM$B;*?<"*/(=@0*%COW2:O(E7='* MVZ=Q?7J=08>)@1.0O5V5RFCZ!H'*5!:/P@P%EKQ&!@Z[J(NN@6UC(GN&2-L! MD2L1.+*F-A?SBJ77PPM,!!L(>-&O46^!B.TAE/WK>%'6LIMU0M-80SH>(&.X#4N)EUA"7$M#N82_^JN! Q6=2FR%9G$$K92=M7Q$-PURJ2R//#.U9 M'HC**U.=!JI+,%ELS$+N!O]+U1ITF\$LK4R&)Y^$XS%6$:;KO$([0$CFH?/H MQ@E,UHH/7V,?X3NX2'HK)NUY[^3\ZOQUF65B'S^XX52T9L-N61\B9RRPG\5/ MWMNZA36#WIG-3F;O0[9:5C)\V9$\T,2D$F!S 4K.]X@E\;G MP^MHT(VB:WCYG1^Z7U]8WN#G%V[SH-'LM%HO+!&[S@0O)TJ%0IFGTJBD-K50 MD5J?-,>?X/_&A#^P6.OA(\?O@#**\=M\&N3J]2=8^OGU+[U+Z_3LP_GEY^[U MZ?E988VDCRA=Q%1$GHG&/TNYW6#>Y5DY7])^+-Q][]O^R!L N/[@VHWCMGW0 M.C[ ZFZ2/Q\Q>Y:.H9K%=[_,*(I5++0BD';B(>LESA#E/L< M615O2%WS0-8DE^#C+'W/?2T-DK(4'E>D_XL8UVZT#(R3$O&!A(4ZH]S37((T M.F5A;!0S2?6%*28&;0+XKVP">2OC8*1I E-$@Y06C1FJ(^HKJGM'S5E"N_&* M%V%VR)*%V'/=;>289$7 R7DA%*&?7XN.=6-/)-L9@,O*YC*Z^C'6B*7\1AAP M>AB&=<(MQX]#TDF<>1L!(9+/FTY)!9RBI@O+O"*,U=TL;V[0BI<(N<,YHX*2 MR<>#29C4T&L)*.H<';5?O'UY>$C%].J:H$B1ZTU.KGHN?9'YWP.DO[4W:J^L M\,3)^A:>R JU6)>]C]W+]UC+!82PWNG',^N?7RY/K]Z?GJ \=F5=_]*]MBXN M>[_USJY!4KNZZ/$7NUGA16+)69A874VDUL)JM+:G:.B6TK!0A,8'A$M=="\! M"D]/EXZAW#TGWJKHG=U89WIW"63K_/*J9O7^KW?RA>I(GG_X<'K2N^3J.R?G MEQ?GE]WKGO7Q_+?>)5:TVM$B5H;AV.R"8R9;9P7F[ :W+IQ5CXX$TY#+#F-S M/^I/$87?[C,O)%?N3ZDY2-OJW+MB[KJ MG= ?7F#9S88U<.YC63Z[D/<\]&(L_4V5>,O#8=>"E#]VUX>3D$O(]&"C;KR5 MWSSJ9 +F;,CG;#B2Y43BM4M8O03JVJ-M^)?NPE MI/&,DF02__#F#7IKX@2QK'[CQOOP1-T-QV\TVNW?(#A3-!P5V*?8N"EUVT@G MS]=I'FH\RN(6')7!A%A'KN$[!] 7<]< J6O9%@"#0(,C="4%S:0:JF([#*:V MM9JX[XIMSV+;]OJR[8Q7GYQ_ONB=7978B"NV7,:6[8HM5]3B*:A%])[/_M^I%*W M].=E[Q.H .^MJ^OSDU]_.?_TOG<)CUQ?P^,5U9E!=0@NF@U[;T!EER[%3>KS M4U?[OR(9,J*1N$C,-26W8 #_@ W1R7)$K5D1M?4'DZQ&"A/1>!3><;JPX7C M9K1&=4\.5X3;C5,*#HKB5/:5)2$;@"&YIRA$$<19.C((]5GY+J, 9^Y!LQO+ MZ]*8LN=.2WH^NUJ/#^[$/ ]R(IUFN+8)%C0920-(?8VO:FZ;CZ3J%*.M*)I= M1>X9V\GPW6W86 MYFW3S9XI)I/=ZEJMSV1])%^LZ3HE+R;O_9HN47P3D>M1Z,":KC!,$S(F4I[^ M>JYP(C,_[DA02N)UO6RJL82,/MZS7S\7Q99"B4D/ER#C%=_80+[Q.X62B\'^ MNL(_2(R8YZ")WIJN4@5Z\[30PL>+@V0ZB; UK M>1=/O.>7:P<)=J/>KN!@]1.NXNIKK4ZCUCANK]7UKQ<7[W2(@5=<7/?-V$U. MOK0W=RUQ?>G5[S_?@9:*]SO('BK(JB"K@JSMAJSUDFEVS#)Q'2:.OV/B20N0 M91"F:$#>1%R?O?QG-UP44;ZUJ\SD+US:NED]EE_Y,UM'*F#;,7*V A/,]\+8 MNF3TK'W^V?*5XN63SY8(1N&!ZY:=AHDQ\Y->J*XWU\ZBFN34J=[ELE142*[& M/FB$"PK*-:)?+2.HB1^V9!#1[ +O6WGUS0VY>@[-L/(!$,5( UGQV+)K=KM5 M:S0/9.]R]0QU-C=2I3B)CN#F1&;(H6632C5S8;/3 /W>F!9'^0_4TK=Q6&L< M''W?T#U9_4 .?R&;\M+HZ]I:H"K:G,LSRXHVM^6D5='FK2G:O/92Q,JRV%OK MF\6N\M4I%1T+[?UR>G&52TZ_ONR>776Y"E^-OE'EK:S3L_>]BQ[\J*I7+951 MWJHRRK=:35D9@6FO+X&YN#P].SF]Z'ZRNB2C79&/JH[I7ZAC^EM5QG3]2'=G?4EW[_]^.7UW>@U2WX=3K%"*Q8RN MKD$HI )&5R>_]-Y_^=1;YU)%:P]V:VS=W?'M"8C2V#1@>V"[S?T],: MRT%'2UQU_:=^].:MM>>5;CI?.*IDKU;LCL0@Y7I2V.RT3WU7![*!Y1]IP-U4 MM5BT^/"RLF3?M:$?>$.S+O"Q?EZI?9^>6OO[UF^Z5RC>_;]@;=[P'L^LRS<6 MZV,NG#/U ?PV\OH>;'VJ?-M!PRZIW9:[=O^R'Y8H!=[ %V@TXXG [8^=&U.0":1@K-T)!JT;F!G.: MRG5%6]9%7SI87WT)VPJRH'GUY?/G[N6_UU@S>HZF-4'5JN:[33SZ-.V#[[#W M3-$XP_+S2)3F 7MGC"2:9+JZ"4-SGFZ)LR5$:AK-R\B5S(F-_DLP+NTB M?*B$W23_/NQRN-9(T1:WN*C+K-CV)FSH*K"Y*QUUN:%$RFY4<)2# M(_[5IH# 9@?@R&[8^T=?&QWX][&9WB>!H:S=FTBP ;HODCLA FQCCL[UHT;; MZCEQ8GT$RE6S/GTZX2[369MTBVW/GYU[4$&)G#4 #MN;"8<5MRRE9W"IAP=( MSYJ-]M%!^Y%!\(,7 8!U51\V5!\+4%F30'8E)@EWM6@VJ:L% %S_GB!2P6U) M_#9^70;.Q'H)I@%@.R; &JKJ1H!MJP+;:; %^GETU#PBL&TWFH>/33F![X8 M6'V[I7F]#0#[;+R^^_G=_M7'"R"O3I+X MXLV[,$["(./VUV(\2:(P\-P%FPFVG@MMI3?H8-.G&,6O2[4:G\]BRP6PBJX#WGPX>PHDSGO0Q(D3"WT+@ M-0GS$8'F,8#FT6:"YD$%FM,DM4GJ4U.25+OQ9Z/5LNWF,]'4D]!/QWW/ AY@/@MO6:>S MF0X? #C;CRN?TLC4Q14+; S[8CS(%> M?/I#),9P@M:[-(;%Q""'D#]=:6BVO108+XS(R.7#%B-$EBXG,AU04&6)S\@2 M[\A)JRSQG<\2GPLQL[OFX.VN>40)\*OCBE_-5QR:3Z8X? 3^ YNXSWA3_"CR MUA9K"W:C M=I$\QAHPG02>X9@-=VX_"9--S/S@T&6UL?Z"2LBRBBH"&@X+)L$*,C5D5@[M M$H44%+ZC3H,"=-J=YN'Q'-3(;+R59?ZJINMX\,&^:J/FP>=UB-#9-<(0[Q488B?0ED= M[TKU_\A -N^\LSO*=>V,P^"F1-2LE1'4VF(KBGZD]_F*1-G:+(<-+O3SWYWQ MY,=KZYT3?$42I4;C4Z'7(FMIGUP]-AFPG^&'N7V2HB?,AD^ M%$=J17E!4N=58DG-^LT;B! XR+UU.G9N,",Q/[_F+Y^20;U6Y#/@$8P,6ZO4-RM/VQ)0^MB1HA<^ MS%\21%<"E MRFK8%#"NWVA)@^-BVI8\B$)'C/YHI=GNI9.5C6P(\'SN@:YZR M? $_@R2N6=>1 SS>B;["[R?AY)YB:+G"[2?/%4$,I[25KH:MPJ_*?[<$?CUV MV9-Y^'651N)!"%,AQY,A1^5W6R+ X[$5R7G(<2EN0Q\.C\P71=> "NU B-M0 MZUBS:CF93%$>W;G]=[_;BA, M5?ZF4A9O=XXYV[]UW&@>'S\R3)58#3Z$*9;B+B5LL)RV:LJ*G5[W[*/-!;C* MPU3*-NUC6:BQ>=AL/WKIJ8=V^P40.]Q<$*N\2.5\\K#3E'SRZ*CYV'SRDTBP MC--T-+A90X_(F@> %@VLL[KU$9T"->N?D8H _V?JWUO--N;RP0MBH_ M4SF=:Q\CY8^KH**$O$+*X8]/>:S8V%_@J M]U%Y?.<$-E=0^@=U$H3^59]!-;](XL6Q;$KB'D<@] M^V!S(;+R))6;$@^..Y0ZV&H?'38?VZ&Y&")S)&]):HD!1INK\;:VV&D$<'30 MMCOMI?159=@X'PX]%Y@F7K@(8M8.I!;POZ_W_M_K#;O?RFFQF/<].J51P(0V MB\ASR5=!>F7W#AE91G:P0;92/>,-YVF5!V )2'OLZ(@'0=I[+Q)N$D:;#FF5 MY;^\\/4![(P@K865KY\(TL["8)];LWH:V,XG>2< RD3VYL)7Y058 KZ>BF>> M!EC:TG;"UQ09_*6\OUZ%+R]=A=&]UHPA5,RZ'!3!@,JK_W32)N[*WF]3# M/F[9S4X3?C1;G=:;0?NH==0Z& S$T&X[""A_ RSG#_]C'SVZDT>=)Y.*!]@* M#-\0)CQ)8I01)ZD2-C=7C&I7-OD2-M=JV*U#CF?KV$<@NC]VR([CPQ:+AB?J MH\1VT-:RG4(^.5^11\) B77B3+S$\6&\RX^0]>X 2N!U+AEMU\ M-XBPWZ"BR6,L=?A+[GWEN7P@? "&Z(#X V"+N@>MJ]* H#$::Q M?\_^0]#^S#B(^J898^WZZ=G5UMW]:8 :N_5_[RX_6=?.MS (Q_?6:1 G@-O" M>A^Z*:KO&W1)5R>_[,8E];XE@$M(8Z_W?O>AUV[NO=BZ 7>QM_7O5V[M(M(H$%Q MTTGE]@7-GJ"0;UTX-P(DQ42@7H#V@?=.XH!6Z MK#]4]4@6L"3[E&4^A0\H: MXE.#$%81A(GE3";"B> IN'S2+BPX-:LO7">%"_<2;%:604KBW,26$PD+'4D# M5"ONO&3D<6B]^>! 0@H:I+ZW;:9Y;%/M!1]\<%7O3.,XY_3./)"35KTSJ]Z9 MR],M/F*Z6!-IG#0)?\SA#'WR")TUVT](8ZG*^G?QC>.G9&? DV\]-NH@#1]@ M>$DNI0D+D5G22(0F(>/+O__MJ&D?_AA;)VD4H:?P4DS"*+&H1$,TMH[V?YU1 M=+[&;.4LK%N-AKW?.K#MPYI<@.YLU=3EF:B3I2LC7."1D8@$\ =8:B2&\'O@ MBMDL8X=!@*(9*8L6?QH T-AO-CO- MXXP&P',M]=Q677]GAZ_?:.'45.1]-A4PGFYO)3,XV&%08!)_N%@DY >9&&R= M0'BXPQ"@]8+#Q?Q /LMJ:/-X*QG#T0[# B/YT6+E0%*#IGIRJR#@>'LA0*F' M_S)Z0>(%VUI=_#-U(JQ)Q1HC*X%276PN%!4[ZKFM@@>[L;T L9 D:%.0S63A M8#F[45,]O%V0L,L&Q'\Z ="&>\,D-!L0]+-'6ZDQV%ML05P(!]J*:+, >#@/ M$/3#DB(<;ALD[+(EL:2-PV*2<*";1F\5'.RR.;'8M& >&&AUL[&5E@1[E^V* M5)TQ,Q+.H07TX/%VR@9;;$[,U,=R=7&JN^]<*,A4B^9V0L(6FQ4700)A^#)B M@:HQO)V1!O8N6Q.9RC>5O+>('1QNIV"XQ=;$Q?9D1NZ#Q;R@4&I\RX"@N! /GFPG8"PRZ9#+?%+R7"N5*"M M2]MI,6KNLN6PLAAE<+#+ED,CMFP)BF \_2":L#&@L,7&PVX0I(Y?A(0E(]67 MD1>D6W+KV,0FFQ,Q"3$8>-]F <5%%'Z[MZZP;2CW0###S@]5-NJ^C.PVCSN>VZ_UVV"!9$^KDP,/WL2N#@NY/%#\K>7ENP_-^UA,I38!XN M7#4 GP7O.]R!P'+A/4Q]MT!P<,TV!1/?"6JYKYVL<0'FPM^-/! 5!JI[ 3XA M="V^D$NNQ=;$P?UZ$YAY8^C*_UO+"[P>>3'B,]8R"\=8=4"2D)BP.79'8I!B MO76SS-TI2 /607VL6CG]5?*IPP$]3__F<:)C\6ULH? M%@L_F*"[9-$$^4IKD5"BR/KA'+(^A94SD%@=J27/-%>? H1&@V@S,?XS!=:J MNP2I>J5V"QFMW=D;O-9U2S,JK"FP+%YJ'[?:-7KH,B/N(Q! !]AMG>K7#.!K M8"P1RYDP>U]8,4 7? '3(7?IBY'C#Y442V#(#]#(D4@#>(L&=-)D%$:P\X$D M]4\/@D]Z*=/-2!Z'@_TE4:!(.)Z(=OVU"=>+S*Q1?9:Q-QCX&<-]RC)8[^Y_ M>( <6UA8I_&4!7V79W1OXC?E/=$UW_O>';;G4?5GW*$TN;*)KEV^K8>J2F50 M]A#M^SF!8<;M_K5K_:O&@DTZ0*Q#Z U0*T#%?E#5.8V[QL^^7M8M25%X4>Y ,_6PK7$*R7B0^9_(Q MRLY]; 2^\,,[)1H/0Q_^0OO,!$3D,(A1@I;2LY35#3&<3;#TJ>L@Z&@[ M2LB?#LA:YTF[W6!=K2?;-,NV2)FF4;+SI*T9'E&2ZT=OWI8_4;,TCZOQ8[-Z MOR#ZJ(:Z_.3>1>0%:(#VIQ__7COO-HN.TZ#SO6Z;QY'$JO5L)JJ_3P,7GO_H M^>,P+2!Y_KO:K(8]P-LCX<1II,37)]D7D@R0 2*!GHTIFC'=18@Z?NKONZX; MI@$UF*F(R@8C3;6>32 J_PQC,1E9O]>M]^(NMDY_RY&5J6^1LC@>S%JTVU8X MN0DP5ZUG$W#R*A&WH!#_LVYU^Y$SCG,H6?RR9O7B/T&>US)ZA9>;!W?5>C8! M+_\IAL,(^UC6K7?"_9KGE/GO*GS<:'BKUK,)^/A11(X_0%;XV8%! B^VWUZ?H8Q M@+SL%:T)R1BL[/3L?>__K.MS6-O9U?FGT_?=Z]Y[Z\/I6??LY+3[R;JZA@\^ M]\ZNKZSNV7M:M7JUY"'KZN27WOLOGWJ+MO>X-_\L]T8A'_-%AD$<^A[G0KYS?"=PA74U$@+3H2BNIYCW MWB+/'::UKS\U:%?48*4 I=/H"9+.)X+5VCA77R&>46!A^H// M<04^SV$D>S7RCS^*J>%2_Z/-Z15O'_Y,Y[5;I#_TKWE#E?E0;T?^NS!?V M)'X:]C,\V,WP!*[/U7H&GZ:$E"S;9.AV1!CQPW0V9?EDN+30MGOPAHYM\)RT DF^%X47'P]4)S>4VFS?HT:VX)<4Z!"[6= MM$:UY#+[E9#VJQJ\8=H5!-L5<"87M;^AUOZ$XXY4TFQR%TI-4.;+PCQ>.)BE M%]8T3*LU!TH7H&1;$'(?B^_<"O^>CZ+LI==UZQ1@)XW@ M% B.9C]JP<'$5*+5\2(<$W;E^#ZP2B"(^"A\/8$9X^(0DS#VZ%+EN1@%)1=< M8'8@<>I+6,%_,L.V@I/'O 9X# X;AAGC)=]YR8B@6:9+33B'"BO6W8@ @]^P M@I#K8F%JG1G])?"TH8"6W26/KE/?=%*L4=V/0X7O# EP0M& $)M.#$\!8"<8 M 'F.U55.;''9%'*"D\M#UR/@%',X%&14!0=+\7K>SX2V3QGT-6$LX*O M=8O!._>61\Q1PK4)U5(6*@Y7NB(-AL@$B:+%=0O('*[4L29$L4SZ/_2BL:PY M*B)X4U,[CA)"AH2ORG(= UF:#NNG8"%TY)_TAF26A3K*993T2_VJ;@W% %F- M%6=5/WSG+A.#G1%54\4O(ETS-2XINC>K]*D:DO:S\?#_.TE.@]1% M:I%=\?(LBT[!NAZ%L?FMO%ZFGW>"R@[3R8%P@9(#7PI.A3<<]I&*6I@5'@9T M2:!+IQ%-[?3#%(88"2Q*.%OX0I@:1DS/M,2%5Z8>J>DQ!JD@O(@B0'GX;QC! M0AB!].9=/T7I1ZZ6Y9K0!=$Q8HD3UH-AO1WQ#8 &)?8:(K1C@<"0(()C3H*XQ4(<+M4+ MABO$^>B.QF10HZ4,O-CUPUB..7-;N:,D02A;P"U;[M3@I6)CRCQX0,5XO"&@ M+1PCK-0;D[0X=@8"V5A&_&HHKMP)D+7AW\(4R'Q1"I?"N6,*VN6+!XSH"]\3 MMQ)Z#:2 ,\53@I,S0+6OV8>A)FP\70"^>(*$T,5B"+A[HQ)M_^UG!V2'Z,D5 MYVO4Z]0JF%J,:69>""BCXS3@,DJR9!/&A MYT"%I&, 7KDYPZC(QW)?2][%H[M:XF(&XB0_6'OV:ZG,,E&1UFL\S4@W6WHWTJJ3MS4(UT,.!IHOL$-D8$X[?\AY599*=X7WZP_ MTL&-Q :Z KTI WGFW,L@A$6C?.SXV.X660FP;A0@#0Q10D@Y84R!HJ0^5T "#Z&X>#.\_VG)@+=6!TMJSWL 6X20+1G]=E8 M: VJ <\EC8=,*J:(B!=$W"K\1\P3L?]FTZX<@H?@^7B-2-* &(=,KQXU"*=3P 12W MYL2R&%[\@_6R56_K<> 6IK;[TJX?Y1Z8N7W:_4O[H-XQGR\_CFOCIJ1HQ!J[ MP]VS] EX\ RH(DCE2%O.CL]BTY:QX+N"Z0SMWR'H1RHC#&NJE2UQ' Z$ M#PL)>9^XXI)#R,$+$7HG*ETG[3:_4+P--B)&$=FKZ>'ZPUT&?Y44?/2PZ@3I M(:6B(2F7H#F,)ZS4&0U1QL!0B"[K2RK9.VO>N3NJ(=.A$G4P'=Q -J1&.G-& M99J&B2(LD0'CWD3A'2JTN,(::N,BB(N?*E,12*EC+QW'4FR1,C=>/C]II0FH M]O_-#*FW)D4N67X.L ']$420(I8#"3/<4LY79RE0P6LF_P:(HZ3]3!W,[(O1 M4I-CC;R;$5S*C=3='$X4TB((OXKV)A?G)"4FD7J5&,(^DII4+]32 L'G+^4? MDCF,:Y:"D!=I$2J7(00? X7W4'6^*LH3B?/4UB?*JH&\]H4^*8QR_@+:7A.2I&AH6TLAQ M[VO24>B+U.1=.&*WE7(J%Y'%0"*0 6$2259A0G(-*/63O@=2"'#I6Z!<"? M461&!*F9BQDZ"'-WGH>L%7HW,\Q$QIYD#$V%'Q5^S,,/!8&#Y=7@#"+A>P7[ M!LQ+4S8 JI8D]!L M^@D*."?A-4:V?E1'Z8P$!CNJU -* 8I8-<] MFY$IAD&?)C$L);,C1ROBX8# &ZLM15!@G>^MX/@&)).::?M_B\N^-P DM@'&G(=]5 MH4P5E:Z _7& O>B5R+P/& \F54V0#<+ A<\U-)='*A(XN\[$2^"6.,"T@M0* M4A\'4LEO.H''DQQ=+LH*,K8L%SS&\BZJK#R6%Z'':R20.INZ[KH Z\8:^K%8 M\J+Z@&?PP7=4!VR]>)N5(RQ6"=ST0_: ,]:FT/DS[-/+6+U6$UW.GK4]?\#^*.>>[ MF6!J32>)]X7K@*ZA7N;L4/67#N._$\Y7TE<&(H;M]G4:@PXO'V$>BAGX$JIX M?;TP==3JO/*1GMC9^J^GJF[5=6V\>/P82>8:0!;GE\LT_==6+JM\0A:'%RZ2./;UP8OW]SS1,?BQ,Q!_. MDMO5C):<4NH+/^@B7OC_?9O3.4K('V9M 0T<>JXG @QZ@5MQ\';[0(I4E)_^ MWN/ @N6I%Z8YN2.=RQ\)GM#(X9N$L,1,3:)#D">=JV_R>;@U.V/W>X%5P:-G"!VW*E >D+#*'33*#/8Q8Y/;( \+TB]4HK- MYQ-Z@]<#*A\594D!^12/ZHN1XP\IB"H%&C%&H?:. $(Z+D/7HUG52+$YU!T^ M&"=XDY/1?8S603@EE3RC":Y)"_X_>V_:W+B-M0U_GU_!\CWSI+N*[FBS;">9 MKE)[Z?A)M^W'5B8U[Y>[*!&R.)%(#4EYR:]_SSD N(F69(H280I3F:3;ED 0 MN,Z^):5]:BVL(,)2@&$8E0[2.?&_C>8AO"R^-!9F&V3%1MU3 Q;O'J_1"7*@ MP4L5@2_:5(0/0)!U#U&:O(7/,!%R).#=9&:]J,QFE$8C]N4D6@!(.B >F%]> MQ5_?"2)>&!4%"EUH!9LD%L=Y2Y2C MX01_+FAQD61DSSS[*!GV2Z26RD42RD]M8,(K["AY NFF&(D. M'Z2G9JM6>'>+I#AW&=8@6/Z+9(1#QQ_.ISSK:ED+"]G!(MB3%A;G8#.X3M0Q M\1OH.F',DI3QM/42!L4;A"#>HJQ'X7CE'%^V*74$YKP-QF,)^,@F?#B2L0.N3,FZ#MR,5. MMHT.)MC.1%&%$(C$T9@KDQ@QQP49+WZ<3,_$R8)>;3D36;%!AA.I/=0$$CXX MFI"@1=]"TKX1M;VR]V/$\I%GA$'&SOR9$GV77BLW;E-/\)G8.(\:QTP#(8*V M0+C6G6YP>](*H%Y%0^;,1'L2*H(&=D1WD'Y5VO: <8,77M9S)[EZB36'F_63 M7K],2H>=C$VDSE*F0Z]))L)PG[SH M' \"OW$Z)3C#B2V<>['LDM[C)2V7WCNO_A+[RWD#+K3*X28G,<7-0>X"DIB:POR'#2,D(0Q9JL(T+?@3%CIY!SFMB58ZDH7$6DCD M,L%=#1@U>H ]VZ#%4;IH_.I<'0Y$AU7;$>]-=K_H0QE7RE/!F)/6(",^YZ44 M"'PPV?\.!F[8NT<+IA(E$W[>]]N\FH^B\T_4RC]IZ_R3@K=OQ"#(C%E_;02[ M6M/7Y1SSU)S9+[UOO>NS"^/^UXL+G# K/_?ABER7\P 4#>KX@BJ2$8S)I\.M M=/$WS.[_&$VDW]W<>_R#\?:T9P$Y$+A]_&H^\2ZGK"7!I4Q*\(J$ZG@OOS(+ M=QSM)IMC/?#"T)L6WT?VA5+YVN4MFI_KO;7U@:_ U;K_/.@N99IE/3^'IW/@ M'?+K@8_-G@V*^=(THH9IX#\?E^24;[*;_*AEW@$D(IG2I1#'@#.3Y\N_-D.0 M8_*4,G<937?2%%$21;0T1;R)(C (J (E:(PHC9&6"AC)SL+;-FO,4>57#=LK M[=%"+3MN+!ENMP4\I.^^=W]/RO$6KWWG7$"OK]=9N?DY#A= M3>RD2HBQF3;]^/?[\P-1D#P/#A\L:_83WG#/M?$_%_'U]L(ST2X=IR:@LQ2H M#+[5/C!X[Q>L20Y_?.D=GJ-F1ILMSX MYXKN6;VX5_,][)8V#WV& M6?03#S/[\==__P7C0?(]#@,V/'2>#\>.;3/W)P[W;OOX!!3Y8]"(\+.?^;2K MM;YW"M\[[8KOF;*8@B;Y:%%:.1-K%A6EHN0^N(O@=LU"X;(LRM).S.;QD8H\ M3:.S&G2VBHK8+:"SU31;3271J8K$W1N+\,K%A'S/=U@=':#OC4FTBXHP>8TO MP!N*,H6&V3@Y59$I:#16@\9.49%5!AI;YE%7BRAM%!Y\OL6B2,>6HUIYR2(O MRAZF\@IJ*,#6SB]4C+.LO>^E#.BHJ#@4D+G@B.FY]@W"I4V10=/LGE8CG8N0@2HB>P^L2C$%H^^%6!>NQ7.=^5+A M#)TR.-#)D7E\?/)N6)!&?!T07SB_IPS$=QMFXZCY;A"OBM"MKYU,MC%V0Q-] ME#&9=8:-5'2"O5Y?KZ\6&]H#W9^[Z[[CE 27^1F>5$/M7SDE9X7V4CC7,+K2 MGFM?R O]ZGM!4%"5.3:;S6IT]SU1T]\7-$\;A1,02X=FU^RV=-QI+_7IC"#[ MQJR X=02'+?@>WSNC_9BJ<-3RK#I3QN%TP8C?%PEX+$)ZVF;W<;[L>\U^NN M_L)IB5M ?ZNB*H#W[-W: [-2A)0(6]A%-\?A54.AK!R_6<%("J&S<#+C5O!Y:IYTCU6$IRIR;8^LS"#XB:953.=\Q)[- M9C[#P7=R9+,"U*SU[?7W_6$I'RJ0 C\><+P#\":>E.5>A5,C7V5'!4NI.NA8:YY6T[),NY7W%?^%$R7+QC\YEIMM[5C6!G@B M;?(.J>C0&QWBH#=>G4 =9FHHAY5C,"LX1^$DI1LY%I@B4W3#-Z/? T:IUP59 M1\<\/5'23:?160DZFX7SE$I')RAV6 &C9"]:5618?4U+C(=ZGOWD3"9:9E7. M%0JG$,D[+-['Z;BE\V@U$B,D%D[GV1R)W88B;D\U95&M[:DK-[3,;-?6 ME#+\8(.&8O)&>>GJ-0LOGH>3.?HS-N05S:YYA%U4U>,5&J75H'2#1F/;0^F) M>72D2,!;38E6:^OJG(V8[S/;"*WG^O8O>6^,HG#RC+S.*W?H35G?>H[X1>$& M2)VV]@QJ:$;0+)RO4BXT.V"+G6BGX+X:8LD!/WB^(SCAD-%H!)O-O,#11EGU MK*)P/I'W-IV,^Y"QEVCV7XW&6,:^#4 ?JMX9DF)P#_J5N/QU(F2*LK: M_*;.]16\*RF[#91M>W,,OO>2D[*CY,C^!1>%1UQSRIJ,PPRX/: M^R1Z-?1CZ!>?U+<1])L-L]&M)BQ>!/JJB-^=F+IU:HBKU]?K;[*^*H1?7[T; MNX)<];Y?>\,AO'P8&#/KQ1I,ZFBUO3=647RF MM[C+6WZ5F[&((_.H5V M\60]P-.PE_. N6SDU#(Q\KTQB\(U!!?3V<1[8>R.4?OX;[&-O1G?Z)C-(]WP M1"-4(K1=.-E_6PAMFZ<-)=L9J"+9]LDF(\DV\[T1"P* @34Q1DR[&15@&\63 M\OFEWB;N]))MRC.:9DLWG]3PC.%9/'%^&_ \.=&FFC;5,)@6P($R7S9 X>:: M+?M[^>R1N7/M>JR>?13.$3F#;^&*?SCA6-YV2;&*MGE\JJ1>K$%:#4@+YXEL M$:0=LW.JI"*FBJS;.^,M !0% -3IU"%]2DNWRAG')G-?\4[O\4K/HAO=U'1K M'"D9@M?HK :=FTQ;W0(Z.UTMS[3M=O#Y'+2D (Z83#9 $(-C-AQJE(J-F9G. M'%&'A13.'.GC1982GP>QUE:2<6A,5H/)PFDC96*RT]!C!+1Q)OM6#A>K:&LH MO/:ZEU][LR:6I07U@?6<5)-%J=M8[BGT.YNUL2P1^D?=:L)_[[F5Y1[8E:E6 MEEH6UY\A%[#=/%[#06RTX2J6_T M+#]14TOA^G*BXJ.!8E 4%KOF4:>:@D$M>?<5[\4G#6V&]PZ*6K/9K&;$T'N6 MMCLQ<^LT"E&OK]??9'U5"+^^:C8%^:=3)YPR5W1$C.)I0Q PQ@=,7P,9^U%/ M^%UG_6!FN7+QPX -#YWGP[%CV\S]B0O^;N>D&>\&/[X@=M_=2[_W]=>YM%8E MEZ8* ]2:CUY?KZ\UGWII/O>A-_QS[$W E@]^,-A_YT[X\I/6<_3Z>GVEF%!] MTPLRG:%N?9E%%R!K,HV_KZ&;MD\:<"3K? X,C\:G1C/28.D_QLSRC4=K,F<_ M&VNMTEKS:32^L=%HX/\SCPS&E@_':?#>=EK/KJSYJ.[:W[N:,W/'1]\ M=KWT.^2_D1,$V';9\PUO'@8AF--@2=HFDPR+;U4 M!&:W<.E>B<#$E%[0WD^4G-BHBAS;&VOWCH66XS+;8);O.NY#'4L'WAN7*%QR M)R_S0MQE;SB<3^<3*V3V.1LY0Z=P^5'+;)YV5608&J/58+1P:=S6,-INF2=' M>IJY-LYHPJO$E.'Q@4+>=.:S,7,#YY%I6:<.'RE\!5-/_SF M!<$U"V]&?>NYJ.!K*LE1-%JK06OALK3=H+755'*PHRKR;V^,NK[/K&#NO\@@ MIH4M*H-PS1!?Y^#S\9%Y?'3RYO#>$6AA';/=.$F']FH?TZM]K>Z'I5RQ< *1 MQ"E%97B 9I/8S&E#D=A,;B'OP>>/&O4U0GWA7*624=]2145=CGI5E( ],()3 M76&"G#H.+8+?'S-:RHL*)^DDJWPN"!M%96_7;.DYNAKV.X5]X62@TF#?[9BG M1]4$1MYSLY@]L,1?:\U&UO2^".65=-\&NK>]^6#"LH3_=V5YU>M[7LJL"BT\\C_E2L$?,GO\X>=X/[2=E*03@D[(N?0V9DN> MDGG(.L](H'C( !E^XJFQ<.W2%NX9,ZPAQG8M]P4'YF(_IL (/>S31.HDA8 O M'==RAP[(X?L0?D#=G#XMWWCIQP.W80PG5@ XN_WZY;>#+) :C7_D49GX"9$S M_>B ELNL=_W[]VC!)!<0!VBD'I*OTT@ 9V_LX#,^SK@\[-!C(U09OXPC+?*V M]_7B\,O=1>^WP]YE_^+N)\.:/%DO@602J"BY++.-,>/OU$*4"]WP?QKTOSRU M4?SJX,>\]__U_"[W_?$@4X\5;\/O)OU".R<8?-S?DIM9M8,M$],O@\^.V[^X M[QMG-W>W-W>]_M7-]2\_#N 7/IPZ_/KLYOK^YMO5>:]_<6[<]^$_WR^N^_?& MS:5Q@,8+;(\]#QD\C4)"I 3/F"_^!F1J?=P]00HH M$=,44/WG 4HD-ID(9AS]/9A9P^CO''S-\@)ND/'M9E+'."9 MS"7.[\&0B_?R*[-PQP>[LNWJT>@*V N&*O]YT%W*017PA.S.G,T[@'1S(& & M_V:6'Q@7@$N;D_LY&[+I &BZW32)"6RS5] KL89<7X:#3GH_DT!\VM&,UKUN#M#,W-KGG2TE4)>YD+05#0/JVNV6WH\K ;_+L'?+$$4EP)^T!A/WL^$1E4$[_Y4 M GSUO2 P9KXW^JX3A"B9PG;E]=6WNUW.*N,1&4!&^!) MO11H-F-+K:;9;JK1%4-'=_>%',K(=-X..31/S59%\[/><\1W#XS65-OT]S(*HKSZ>2L1R:+Q6#55OY52*%;I"&94*T;7&0].*&O$-LU.1 MNKPGFO%[PV<9Y02EXO.XINUM;+VV[];1D8? M >3:<[VT;KQA#-9LO:.>%YH8ZD ,960-;H48CG340TGCL4Y>:[V^7E]'/137 MQ2\LWP6.'!@#!N*#":W<"*UG[4=2QL]<1IYO[%Z675P==PXW+_S/GAM\(03P MS_6M9Q9^!6J0XUK^RU7(I@&H(;@1WZ.:/>D$*-SJU6QT=)&-QGF$\S(2 M>!7$><-L=I1Q=*DH86L>E]D#B;K'9OX13IDL2SX#/Q*&_1?FLN+=%9OF<4.7 MWV@JV"45E)'96S85=$_>3X]O5:3Q3NS=.CDJ]/IZ_3HXNFJMAE^ST&#"V55' M!7RE4&^#4+>].8ZNSDAU=489K;_GI9I(&7G#@)>-,S)/S7:GFL%<6?VCO4]: MN":%F!3*2%$N@Q1.S$ZWFMSD(J2@BD36JKA>7Z^O5?%ZJ>)1S'G&?)!.TRD( MK6!L^?&Y\.M'C;S5J\U%;I-IA1ZA5IR1'11&H=5^]OEY?Z[[UTGW_ M8"@/F6U8<+S6 TOIOX'AS<,@M%QT6-1>&58N#+Y"DWAS95.N#B$!T./W?SV? M#IA_,Z+/!C?Q]6^D6S2;Z&XSVZ=*:A@:P-4 ^,W52!4"N&%VC]MFHUE-TU2M M(M=3Q='KZ_6UBJRXBKS:/6P[DSE(H!KJQ._:U5:D3&E=5]LYO_*Z.=LT;A7 M;9&RH]WA5LD*.54$H=: ]?IZ?:T!UTL#7N$DQ@E?*;V8_7?N/()X<<-\#W)] M]>5WYH)KOKE2\"TN.*%K+'CB-O B'Q^?FJ=-G5VA(1Q!^,UE?I5"N&&>=%OF M45MA+?K'<.#9+_@W:S!AGXV_&<"D;>>1_RE7 OV0V/IB>GI(P0,D+& MI+48"J$.&;1,23XUG7G5I"_>,&=80!-G,. VC.'$"@!6MU^__':0Q4RC M\8^\%'[Q$Z)8^M$!+9=9[_KW[]&"24(7!VBD'I*O3TBL9F_LX#,^SK@\/*+' M1J@R?AE'&MQM[^O%X9>[B]YOA[W+_L7=3X8U>;)> EF!@$J*RS+;&#/^3BU, MIA=ZV?\TZ']Y*IOXU<&/>>__Z_E=[OOC0:8>*]Z&WTWZA79.,/BXOR4WLVH' M6R:F7P:?';=_<=\WSF[N;F_N>OVKF^M??AS +WPX=?CUV_^+< MN._#?[Y?7/?OC9M+^,KWV[N+7R^N[Z_^=6%<].ZNKZZ_WL??_G#E&N'8FP? MC(./NZ<]@1KBCP*5) F&;#(1Y1W1WX.9-8S^SB$V@I/!K^:3[7**>@/WI^MR M7)NY1.S/9)5PU@[V4KR77YDE1-IN3*AZ>$6 D\#5NO\\Z"YEEML3W6LW2=B= MU9AW &E+$NC^W\SR ^,"<&ES:CYG0X;:EM%NFD3C>69A:3O/ZX3PBDM!DTA) M)-+2)/(F$D'+6P5*T!A1&B,M%3"R:P=L/5BC7E^OK^SZJL14=A!,E>;\,5A> MNA>,3L98="_G-:S8K]XM>Q+W>-?[%;./!"$!QQ\B_ M[HR &G%?/=?N6\^WE@_(**9]& &<*?SIX'.KTU9%"='392M5C/.*I M-O%, MWY^/.DH6C:@B8FN=@WOI^0Q.TQC.?4#0\,4(?B6PO(]3[^OD;-'K MZ_7KX*RKM261$E;[%7?>W\$+S;RF F\U(W+4'*FT%(YJ5U4*I2>2:,) PFCE ME<"^U0@HGS!.S,9)-;IZ\?DDNG#PS86#NFXPI;FLK!OLZKK!TA%1G[K!^_[- MV6^_WGP[O[BC:D'J-W'\,WS)N/A_OU_U__U*":%IL./+% MV?2SYBOZ(I6]2*VX916W)5CHV;:#,1=KDL"#UNLT66NR?L]D3>F:FJ(U16N* MK@E%][VP&AFM+<6RX:Y;:99&%4M^=<9'-=R'WO!/03>U%(>:B[X!+[>68Q]> MN1H*&@IW++0<%T,9&@O[CH548JL&A 9$WV=6,/=?-!8T%DB#''L34)V#'[0% MIF&O+; D==#,J-V0A>[E7E<4]:;>'#NE:11I%&V@QELS9V=>4@VCNL+H(JH5 MUSC2.-(XTCA2P #5(-(@VH@9_7?NA#OR9^EY2GI]O;Y>7Z^OU]?KZ_7U^GI] MO?[.PH0[4JD5F&?8KG2>X1=K8KE#9AK_UW+GEO]B-.&=:5YM[7I,KGC4L5KC M,#JM=+,[!SO<-7F'N_^-NI)QBQA3?SP7FY3UGIW@D&>-DL?E.XUK3W3$HU!G MMB<>CW_>S,,@M%P1D^>=\!IK=\*[NKX\^-QLF*?P_TZWH4;O:G705=7X0]50 MW=X*JG/Z/"8S7OAZ!=L[PLXUF#68\\#<*0SFN&05L[FO7!'UW2FP6Z?F:5O) M": :V]5C^Z@PMF52N@P=[A;4';-]JLQ$.0UJM4#=+=)24KU0Q7.ZDWD\=7)YZ_7U^GI]O;Y>7Z^OU]?KZ_7?U_JJ*-X[F8!;59K" M-0OK//Y2P=2$U[/P#T4"?N4FK[[]*KPP1^M-82PWF@_TSYWLW[P@>,UW,W*> MF7WX%_.]K-OF4$6/C89O)?!ME@'?#>+W&LH:RB5!N54&E(N$Z]?"\,JQN9VN MSC[18)9@;I?"E\L)TVL>K6%=$JP[9<"Z8%Q>PUC#N"08'ZT%XSW6&E1Q ^XD M_EZ5&Y!D.@ Q(=2-"8!)NP2U2[#R*ZGY[2^3#L<5N 1?T^]1N("DN1GUK>=; MS\?-]L+0=P;ST!I,6-^[M7QXIE:'-."+ _ZD8B>B!G_5B-QC\)]6Y7;4J*\: MBO5&_=*RBFXI<<^2')1;HH1URS/:QUU5**-FY1GJ$<52FB@EF%K0NZFE0=5H MK#?PETN#]6*OFHN_B8NKXD2M=2YE;XJ0^LLB3'LC0,>(^3ZSR:\*,.2_\!DI M*4;HP2:!+Q\.K #^:CU9OJW]K=K?6OV5U/SVEPF?4H+*;_2W]NS_S(,05POZ MWBNN*VHD1HSB+,%+[A@\/G!"=L_\1V?(;N$4//N.#;T'EU;YES69,ZV/:8HH M3A'KQ:>WYY"MBCI6-2\SCT^.-9EH,A%DTJW*=:NEAR8+=5XA 6TF%W4*WQDGG;TX*!]P?Q2R)>2J+!E=W#,2NLB M@378*P%[*17Y.W0':^!KX)#"\],-@S\X=.P&SM":Z: MAVR]<<#;'<'TRQL.E0N)E*(.X!.ST6VHR':V0=W5K+]%.*\ ;RG9 "6Z=)L2_9>O M0EYW*-!8WQ#KY4SSWHXWM&SPTY)^AY)^O>"G2GJJDOT25?&1UCLC MD_M(@2?Z#!VD8K*7%3K!Z,4(K6=CXE@#9P*LU+!" XOZ 8Q8SK\7T[\ 9#Z< MRB''&OQP]FP$WL2Q"1H-T\!_/BK'H-;>MA*SQ&86V//N0W*W>V/$UAY@RP1E M*='NXN/*[O@HP[[7MY[_<,+QV)L@#B\]G[CBEVPO]3?;Q'&+RFJ,8TU8>TE8 MS48Y(\E+F7JFB4P363V)K)1@]88STS1U:>JJ)W65T\F\]-%KFN TP;U;@EO6 M#+#9*"4TO_D(M[(H;)G3LW/PN:E(.6@NP=6N2>!^4]9ZH7]-(44H1)4HP4XR MJ>L94];KZ_7U^GI]O;Y>7Z^OU]?KOX?U55&\:YV>\\6:X(AETSAG0W*C&.TF MO"G8C#K9YMTY"9;Z"#)9ULXVZQTIY^MF'@:AY:)E77C8AK8W[ URM:#]G4]*+II2IZ.2Y,+YN6799!.Z#^ MG)X<:_+1Y%,1^9P4)I_"M9NET$W+/#FJ9@2:IAM--_#OXF*GQ-+1,DBIU:RF MI92FHSVAHZ7)!,U&84+:I/BU!,*),]M:346&<>Y)\LT^$<]2VFF^3CL[$A[= MCGEZU'TW\D,5)[_.KM'KZ_7U^GI]O;Y>7Z^OU]?KUWI]513O6F?77+/08,(; M7\-\&M42911I-[,G+E,%;W^9:R:O^K =UTBUMY'1 ?3/XP??O* N(^U!E7<@+6>$T@R M'8"8$.K:+:C=@NI<2K[U?-QL+PQ] M9S /K<&$];U;RX=G:I5( [XXX/.ZRN[2D:C!7S4B]QC\>4U?=^)ZU*BO&HI[ MC/I20I\E^2BW1 BK*N)/JTF)U_2@(CV4$DLMZ-S4@J!J-.XQ\->+O&H&_N[< MI[7.HNQ-$4Y_681G;P3(&#$?!PD.$SVH#9\WK:;I@OLP.5!!UJ.]K*H\2C7! M4THXN?@@OK[WBL.*.M4-LOWL[Q@\/G!"=L_\1V?(^&C<.S;T'EQ:A:;D:E5, M4T1QBE@O,KV3"7H[I8Y5O4_,1J>:[EN:3%0DD[P)KCMQV&KIH[-A\YIRM"4H1AEK!<+5Q/A[]6*4,5?7.MTVZL@F.-0 M"_05S]U'%J!;.*"9!/@C^$_H.T/Z(?)S[1NNFA-MO30[?TH%?A2QPNSSN0]V M(6=!?'C%7002^E@/HPA?_60!P!M'69P>FYUN-6WYM?A5$?2E)"$4F3"Q"'D2 MM:L1_\:(K<;Z/F%]:4_A=BDEWYN.A]@-\.,NQ,I00,W:#:L'_J78+Z5"O/!L MA[) KWT*&NNKL5Y*G+_,>0P:_AK^NX-_*4']3:8H:+AKN.\.[NL%YS5L5?<& MUSI[..D-MB(+\A5_,* LF4@\8S[!"[Z>2BWKV]>WKV]? MW[Z^?7W[];Y]59P8M4YIN_3\$7/"N:^3VA0BSZ4Y#YVMU[R6D]4FH,7LHNZ( MYK'9.=6Y#OL"^J68+R4 MN6DMIB7UB6.H,%>"=A+J4W=85*;!KX&?AG /RHE MPK*+C#:->(WX4A!?3M/D:O+:-!%H(BB%"$IIGKRC[#8->@WZ4D"_7FVB!N_[ MA;(2,-?WG"H7$BD%/8 MSKF MT5%#1<:C$5\)XDNI]RS1#[P<[KJP6>.\&,[+F?Z['1=PF9@_/=;YQAKU$O6E M1+;+]O^^">[OS'S2.*\$Y^7T:-Z^UU=#7T._9.B7$MO>@J]70UU#O5RH=]>+ M9JNBAY^HB%Q5W+NUS@'FCCO#(90!&FWF&Q?3V<1[86 MJ_V^57.64K(&RO7[2L#0AR1<$"V%&ULVF^;QB?;]:M1+U)>2)E"B[_=5R&NU M4<.\.,S+&:J\'=?OFR&_JI]ZXT@C7R-?(+^4<';9[E_-Y376MX#UC8FCC5P)L"/#2ND7I4 1NP500TB4OTLM:M8-W.I_$IJ?OO+Y$XI MT?8WNDP3H_ON>,?;OM>WGO]PPO'8F]C *RX]?T7CTG65K'@FBM:V-.H%ZH_+ M&6)Z),.9'N%U@I[M>+)6O\KL*O*B[7/U?[V?%XX&?I5\;GTK:9Y?%H-.YOA/"[W(7DK>Z.@[C4AE9)64&** M\"(5O;$L1Y./)I_=D4\Y4Y:WDWJ\*2DU3\U6NYJL!DU/>TI/I=3YEYW0O)*0 M5$MIT^2SI^133A_\[>=(:XK2%/4N*.JDE,R(+:1=:PK2%/0^*&B]S(IJS9Q. MY]W0A"KAA9UD=.?3@UY?KZ_7U^OK]?7Z>GV]OEY?K[_]]551O&N=U_/%FECN MD)G&.1N2A\1H-^%-P4S<@PR>-MC7MC?KV*V.DWSM*5&7+2]3TZT#7#X]YJ13GLKI/.:XPU3=YD?\/6* M>ME:+4TQFF(JHYA.88K9-#MG8^KI''P^ZIB=BJ9Z:0+2!(0$=%28@ JGXY0A M=SHMLWG:U92C*:*DFI)J2TE+:Q1/C@N3TB8I."60 M3EQK?MI09&IE+E75K@IWS\AG*?6/8+ M_LV"$_]L_,TP?OG1=A[YGW+]Y#]D]OC#S_%^:#LI7[APA0M/>'H;LR5/R3QD MG6-:[M"Q)D;$@8/E^R[]=. RC.'$"@!EMU^__':0Q5&C\8\\JA(_(?*E'QW0 M'Q_38"%3&+^,HS'3;^WIQ M^.7NHO?;8>^R?W'WDV%-GJR70#(%C*2X++.-,>/OU$*0B^#1_S3H?WEQ)?&K M@Q_SWO_7\[O<]\>#3#U6O V_F_0+[9Q>\'%_2VYFU0ZV3$N_##X[;O_BOF^< MW=S=WMSU^E_^5^/RV\T?]_$W/ERY1CCVYH'EVL''2OE$SM%S&!&_%#"E2,N032:"#T=_ M#V;6,/H[Q]P(C@J_FD_'RTGL#2*"WM%Q;>82]3]3+)6S^M!/[.579HF0T6X" MO_7(I036 E<+.F]W*??0>0CG\#(_@WL_S N !#5$\)&B-*8Z2E D;V*&U,&@/' MH*95ET(6:\O&Y=W-=^/F]@+5[>NO1N^L?_6OJ_[5Q?U605&OM$>]?KW75X4_ MU7="2/3_4]K#-0L-)D+A=4QJS?&ION9(;[;4:H5\LE[_A.7.M)T(I1VMH52D_,3E>18*::,JV^I1H9F9;H^XOQ M(9\!/H?.A!EN0MCA;_#O0RL8&S/?>W1L9AN#%^/#'.=?.>Y'PYLQWZ+A6 BF M1R=T6/"35M;U^GI]I1C;'BCKK6/:Q#F; 3=S+)+"EFL;UM2#,_^+?E!#]7W5 MHU33AJ[=2UQUT8Q)LWO25E%%TGBM!J]YPW;>JKMO%:_' M[6IR?+5*KYCDNT4-/4 WX,]CQD04 2T!L$'F".@<;^"!J_Y[]H.5@Y7UEO M:M%ROG(E[_,/WPG9N?=4E(L<5=1/3'VN7E;;L8!.7 MGL_@:%&RC2WW@1D?'BST04V\H(YQ&069QM):G]/U1OPLYQKBCL_FOL_S\]3SD9ES='YZTR;NMHC:O08-NJ %=% M*;@_5E[29V!X(\#+B '\,/$PGLUH^'R8(T9P JP%.QS@^$;#>K)\6PO+ZKG/ M>F.(5A3YE3F6LV4V.LH,YE0&-GN,T+S!/F^5CZ4BM&D>JS,Z5D49N#^6X+D3 M#.'U0P- &_#!LH$WL0&+-O.-B^ELXKTP9E 5M'$[]\%>#)AQ.[%T +!ZQK)) MRI[CAB'G*H,L5^GY/CH%,*7ERTO\D5OK!7_40\5'P@94*/AW03;45M(;I<%< M!9A;C4TR^U0 C-"Q552![RJIOFO85@/;31)K=@G;[HF*J%5%1NZ/T8GN?#0X;2>8>2 B M40+.?$R #U\HS282D%HF5LYA'""/VLG%@1]N3&K<1 M;LO(O-D,MZ^.H8TA6\T\VG'ZA*-T'HV!LQE(T=+P,K3<5J- M,M)QY!7SRM.^]:$'YF\T@9HU GY%0+V#(RCU]?K* ML:<]L!7:O-E^W[=L/I9CCLV6?#9DSB,VR]=&0>7J41G= Z_<(4ZJ8N>,_Q=4 M'G'7=]%5;ZS0FZ>G.DRT7\!=:LTVR^@HN#WD?NZ8)R?*I!8JYB;; \UB%TNY5Y24" M C+L?,&1T'/Y^.\>W7[1GESM(\4XC,9N1=@MIQ_7#K';ZBC30U4QZ;@_UA^A M2 M 99A(&?F BTR$;OG:0";A>LRDS[44S [8_Y M=Q/-/ID@O)(I!UK>5<]"RDCXRV$A\M*_X=^C]*7-\XJ/FZIQ%(W M#I';[FIC;]^-/1DY-F;6BTYN48.-;#>[Y99?].;LXT2="F@M^*J,4+>VF]2R M$6 _M\R38V7\\3JCLV)9Y\^9;3Q9#R+F)ZJ>M=E7/0_93I:+;"EZQ]MJ?XLM M_:+L1)WT 66@5&_4+M756MO)="D;MLFN-C1>]VWBMB]980'8;BO31D$9$-4;K\L%X"8I+KL ;$+T M*=>Q1A71MS\FX-D\@!-E/F!DY@6.J#F.1O'X[)&Y<^T$58"O;"?K!;L9X./^ M<,*QQ$)I$95CY3H,:?16A-[MI,%L%;U-L]-5K?V,*@)R_VQ#'"40X&BZJ4,J MF!:)U3.531)CEJO:V&\6^P2)R]Z4E71:RCA)M2"LU)VQ24;,#B#[N:L.4G5L ML$JY=PZZ5 !G3/;@2 PLC_LC,YT@HY @W%J"##*61 ?:DE)EVL?*,!DM#BM% M;GMKF3+;0>[1L+\"95%Z]K)112K]O;29JA&S_C%ZXS9C1D2X7L=A)F MRH5L\T091^@RJ[ ZHPV,(=MVW >Q56E#9<)HT;Q1*3QFGA^2+[%RJMAC MQ" MALG2N$1N"' MLVRD34N9F>"*9,-%NF3B_.OGJ:P]<2RE MC9UTA=G<[NM6HV;F$'UC1#"O0@^14WDKMEJ5!.J M*<*\-&6\$\I8KO&6T>YFVZ21ZG=SHDA^]G*55Q71OA/KO$XSNO3Z>OU-UE>% M\&NMTY_U[G\U+K_=_'%O7-[=?#>NKO]U<=^_NOYJ],[Z5_^ZZE]=W.NYDWI] MO;Y2/&D/0@6GM(=;ZX7FTV/8W'ME/KW/VX+@#/O_[_!^Z#!WB V-AO^=.X$3 MZFH=%8*49>0H"RQ<>OZJ*=PX&BE8SUYZ-589FTI*!BTUD*O)6>Z4D;.\%22O M//]/]-%P/O$>G*$6HU6+TT/&[.#2]Z:7"((_. 9ZT=7?X$"E M1\>;![U8@ZI)IH^&;36PW23+>1NP7=742YT*-6U\5FE\SOWA&$>B@,2<^1C? M#E^H(I8!PF:(.BT2JU?(RYB(*13RH.\1]_#9K;CNVPE@I>?:%_+&"V=MMTZ5 M82HU2R9[=X@M8P[F#A#;[BK3*5Y;C-5+P&#L^2$0DC\U'/)*$/ZT!*Q^*H1?:TT^6Y1T>77=NS[314EZ?;V^PCQI;R(#Z&F8 M">^6,?*]J3&;#R;.T/!&(WB$^\#+E:93T,:#T!O^64.O@W(&TW*/YE$9O:&3 M'LVK()A;[I#=C,[HHN_QGHNFVIR:K8XR\49E(+3':"VC+71AM*H6AM+.=;7$ MWQV;B=P+E',8SS&NO5"/ JH^L>9HO5SH_SUG@_#*#4)_CM?8>W:"0[Q&O,7O M;#I@_G+.$@/@9O3-OE1JN$8(I& MGQZ=*(9@5<3BWEB%MRF+D.P^PYLA$@*#/3-_Z 3,UD*R<\%&8J@R(=AD' M^Y,3CHT09WK,_1=A1H:^Y08<2#64F7N>HEEB:\3@CK?MZGM]ZQF'MXU!$7/< MATO/)X;V!;B;?>9-9PS@M$&#G.Z)(@Q.YS#7GT"Z)79\3ZR MF.MK+/^\J,"XE?C9O$'MD=AO5](C5A<8U MIHSEPKV,3*=MDT9V MF![IN<7GJ>IAJIK<=FH6E-$B][W26\+<:"D2^M;&1N4ZQPH_HC69U-N#J!RG M6Z$QE)%FNA&ONH47\6S@6!A+9N>,_S?B8$FNR#EET43 AMD]481/*83'>D-_ MN?0N(V_U/6 _EM1=L]O4\]7VT!6 P#.Y8&8Q_FA*C!^AD__>"HT!@Z^ZHD/ MC$!:0U%=>]ME*?/+I-0ZN^%X._($=,RCXZYV!FB"VB%!G>005+,F!-5JFLW3 M:L;LO.=&QK6V]-^F4C ^T;6^RL1*KM(&KF)[\\&$9=G*WY7EA*_O>2DK/,UA MA=OW).R %78./G>.S%:WFKS)+"ML[Y-NH>DKHJ_CAM;=5:$O552-VGLOC*B; M$X#I)]U75:^OUU>* ]77V,G42YY[4YPH,"13!Y@1@V,V''<(/\:BR5J&-?/$ MH#IJU0IUJ8RZABNZWSY>[ZWE%.I&TL'$[%9'D9JK?3$3WA%.RR@R* &GO%.< M*CD]:@J[G:C;==)2]/IZ?:WEJJSE8B>0WV]OOUU\O[CN][X9YU?W9]]N[G^_ MNS!N+HWKF^M#&GAR=?VOB_L^33FY/L^=>:*-<[V^7E\MME5?]V#&.)%>\8,:SCTIC/+?<%B%AR[$QBA9YQY+N5W8X]%0Z#$FACW M(?R M?.;/,BX/3\13(W2G_IS\XSC2/V][7R\.O]Q=]'X[[%WV+^Y^,JS)D_42R'0\ M5+%YY\X7ET9Y]V_.?OF MN']&Q\31M.9)K6(4Q@^9Z_AA378E0)E]825XPR^#SX[;O[CO&VZU]$_N[>-^.^#S] 5_E]_+4/ M5ZX1CKUY8+DV' ]['C)X)*GAE"PR8[[X&[ >Z^/R$U@X]G7.8!E3V8/(L$(U(]HS^'LRLH?Q['KP&OZZ^:K*M".(%\>!\OA5^UC>N(?P$"0B1@/$V\ JDHP MG\TF#K 3,.X=U_4>@1H>&8 T"#FGP>D1 2@[;#AV04(]O&!%VYR/>0/%UY@' M##OZP\;F(U!DYS0/'+\9W)J8Q<48,%'"'N4..BB$\-WRAYP9L MZ@!'L.?#T/,_&?#"8PO>:(F)<7*29V(L-:%O@7LL\)0Y#F*,>(K[<,\>2 F, M;(5&RE8XA&VCO? $_"1@;M)4N+J^//@"#$GP%'W,Q]'B7&BX=+? M\^%@2930,>$=/(V]R>3ET'MRT5TV'P2.[<#CX;P0E3'%,/HT4!IBEN9CA/#P MWS_=?S*-,\NU;(L3%/SPFL&__0FJ!9^,[T1"DMZ0DN%J$UUQ"!&"%& '@+.) M341(LZOPF?#\Q%2.[%--XRN#4W)?3.,>GF+!\D"'F6U$6_O]TV_T7AR?_)T& M\\!Q$2WQLSF)@JZ9>N>!%XX-6^3#6G!J]#D'E2^7#A5_M@IFI=Y_-:P9./ < M>!J^NK%$SAKG;$AC7PWD3@9)W7!LA<:3X';H9X!5+%"4F&LR46 5C.P%\!/^/(*SUSF7R&FV3HR&SG3E8V =@!+>:%$_0L> M,M^X:;!Y@ M8&?D(@I,EUD^XAL>('C'P.?T'"NC1+GL><:(<$./-]+ \M=P# P(E^>4 J*S #%]KY1$@QKG(F\."ZGMR B4 "6@3YX01C@B/M]/["Z.$AW=NN M\65L&Q_^S_^+D7A=+<.6X9(B@T_&[WD^:%@I9DT/AI<@7]@$H4^QH0?2 M\_C;?#)0?DZ=9ZK5EE]\8ISU(Y0! [R&&^\:7P)(G %=V QX_M1Q><.WU!81 M5\WCGX&"&)(+/,%GHT@F91]&0QG%DQY J73E\X86P)\WL<43 MC;6/(K/ C@L6I%>@00W2<]7S\#"@\=V>4&T M"_I@SMGPBTZI/<=G#A=. MQ<#4D2 1URKZ0U"09(?Y2L#\#?HMW MDOB-^+3DCY+7D07$@O@:![YGX3#1O$>9R?ND.P<*, (0%8X0.61'T=V1%8<] M%;ADDIOL]2^B+2#8GBQ JP0-0@X,$R1[@JK0"Y=O:0Q[ 0$"/Q+:VX Q_KT) MG"7N O3 APF3QP6+"CD;Z8N<8R1.B33ML842'/#T%^<'OC5S[-@8Q:<)0C!) MM( Z3/8K4# -F9D!O01S7]@NPY?AA+Z2.,( E!M4+^539U:(2F>0NQ\RKT 2 M_0<.*$8ZT6^"(I!D+9>(UR-J"B.5RP7^!BA,0-'$-2\F4Y0J1M^)SHEEPK8,VWZ6(/ M\>)>8K>3%<"R V DZ 2'M_N ;5_@3\" P"H(.-^"AP,KRSSR _ @>#= 7,SX MDI^(N.#-Q?>("_)%3=0XD[H(W+J4]?%B$M:.3Z]/3'L79T ,"0B.]DKT-L)_ M)2@6#X.S;L1I!LE@FTMZM(;P,@%G/?#!WA (!GDI$-#P$S>\40T9C8 JJ,M_ M)#CD)Z.#>X.9VC2YG>HM01CGK[DPBQ4H\C9R%N/-PP"="EFJC9V*]+[K.A:Y M[9;T+:;9[!+7V'(:D>CE: #D!6^XMZOUS^5U.2'^!L;! H\SMW5<>:["%0>5 M>AOIC&8A\O8C>N%7$N0SH;0,XT'YH*\!FD _-F;\F@A5[NR7LF,WI.CHYJY MJY#N#9I?CAH7.4?3\)(J%4#&>W*?+-_.45C)J(H :PHU!#BR5)GP;Q2M00L, M+BLVVV.8H\/)2NFFY/[GC!]7%-)$J'9\2/,+B74@O(B5HT%W)57>DZH91^HW+0PC#:G'@4K(K/FP^" MT.*+"@\ 'JW/'AWV)%W^[-&:S+E7*-Y"8G@V#S2LM0-XJ[4^MP[Y#> $YT-D M_:,Y.7NXOQ)]5W-'Q-#%_? T*CHU/Z+"X<0+>.0P<9AP#XDOP27-YGXP9XN0 M*O,U:*](#-'K3%X(]P\4XD"K)0YQ@+45OPIIB:0X/CL\#IJ"Y);V*6,OD9;G M(WN5#P8:'='YORPXDT)2+5$!(485,=]U]XD0]4FRI9D-V<>'H7 @LYY+%I(ZJBO"<]H_?@,\9]D0?[Z-X$F[B9D3IWQ35 M[(6P-[Y_N7W:9[3-Q? FIN(M*"<1NN.1C6 [S+ T7IA>N/%%#2L_Z^]'1/=G^ZV73^ MGMS\C=C[+6Y=/*-PW+B1'S<>L/ )?=GK$@:GBQ4^'_I&6WSC$_\**&H^&S)0 MYVW#13\T&L_,#N*H%*KJL:R.[WGYA9U6>F$KB.%?H+^RC6FA>6JV.HOU%&!@ MAN@[X.T>R2Z*HFIT<$O.[;31V/VY)9/*".EGT7XO&8,30S7 >H"G?$6?^ZU M2'1LAZVUSZUU\+G]:1'N_Y .*![UBS!(]B'7#!F C@S/V&++ ^:N%#@CDS7\ M8RHU> >9Q/>QNML;4@07T>U-P)QG01\6^S(AMI3(+C[2V<6%LHM;ZF87W__^ M_7OO[M^87GQ_]?7ZZO+JK'?=-WIG9S>_7U.3F]N;;U=G5Q?[F',,Y_.+ R^' M_Q]\+DYRQ!._6($3W(QN,38#W!#95L^U?P^ *UX$/'(3$/F]9(F/.'NWVSC- MDI_8'Y"6F[(>@%V*Y**?@$D#54XD.,E=T%,\O> .&&TDU]^Q%7C M=Q=%(?CO_CA3599*NXA=ID%43"8=3MQ5-TRDBX1C+XB<9#QMRLA+.\6$HJ1] M3@F6,B4KO6+"B\03?BBDS]"UZM(.YS//3>P94[#HG68^FUDB$Q8=1O*56!'S1%44OC%#TT!X;R>T.S83R6*4;NJ2BY=*[>@N>H0GR_AP@#FL MQM=>[Q;L"9^1%R00SK6I]24WXT\!P, MRXE#FCC<82ISHS&'9^(%HGR>!^$?**[URG?X4VRNB-.?I'SMN.S1^;. MQ0:$IS P;)YO&'^)SE4D-/6XRU;ZXN'<)[;(69+:)L(I.J9/QAD(#,N)G,82 M*)Z-697P'11.@$ 2=X! RWUP!M(+C3$4 M'^W)T'I^[=CBATI%1/A!D0@G$^_)XF4!Z%R.$P+062L\M)LAQ%?Z.D8N$. HQ8_L_\R!$W)X#E_4=HJPT!VXV-N; V: M=.#PPB?!"3.LK[6Y#2.C@LEG+9&BO6PX4=27"5V0V:(:5*J=L[D_'&."Z)0! MHJE4+E;Q3>';C[1S2>3QU[@_&F.;$PH?Q^XF](Y*S5!NBG_;H41-K)K!'."1 M!7]'S9 L'S!PL(P^"*2FG7F2]\@X(4O%T$XN(+^4]VP'N$G'P=*::S'3CT;"P.X,1770@!BK0<6U1F]):_0LA^=P/-%8K/8 M@3P$>]$V0;,(?IY4D483GK#CN(O,<6!-*- 3C!GI^U'F2S:T2V\M+-G(FDLM ME>"NJ7Q;41GQZB=I1. (]/^$TUS:5HE< @X&40$BGA]?=>;#A]+$2%ASN 4P M8H2-FY Q J#)_$J;TH9BBT5FG] &A4SB?NK\;U(AVH!B Q[8[7^]]/N$-@.<&:PV!E:$E9P3_FV0M/ ^ M(678ICS)B??GYEOBM0/N5F#)0IWD>27L7Z)#RJ/ADX5 ^#W*) M1'+-VJ>Z:#(F&&69VC%YO*A%U5R4$/9<^P9/]&Q,A17+%>3V>U"04Z_'\V,) M,N(-WZ8NOTO(D(OF!/CO')XU''DA":%!2+&80'7JC0\RAE'1P M=_-[7./&=1V.#Y]T'V_HT!(1M=$.(FLN8(F7^208TH)3\PT)G@,F7H3+IF3J M799R0+<(0E'%R5-J"6&R_B3VI,HDW+12B:E] 99 +)Y;4NGR%[@N%]1)\2CCC#XVO29P1"7S\M+Z'H5REHDY2O[LU)ZH8O+MJ,&_F][D. MAH4.:+L[DO551SXYGH:Z7F0FQ\T5F M3](90ZH[Q0Y4N%7XP"Y\(12W%'O2K@,>'LALH7CJ G>!LOAS93.0"4XDP<>@ I U.9OS+)K8 M5>NXP+E#WK#,)#\1G?J:6>V8_L0=!,P6^B(L.,?7I2*C(-%@;(U4_3A-WJ;B M@8E'?K2TD Q8^KWI! =LXK!'GMD_A,>#]DN%,OS0T:(%>.BL^2JRYIL-G3:_ MSVGS"5%#=+O")LA&@%K2&!+!Y$1Z1\SE8$WJIV:Y?TJE-]F#C4J41+,J_B$L MW8/=,R:8YCK-%82"'5H'8A"P\6$OQFQB#24;GP>K>UBU1 ^K?F2$R'V+YPC3@+M4L.O(BRDT='$B M($=@MQ>_WRU- &YVB<.^P1,YYV^P MD!@,>\VJ>ND=%)PBW#2;W<4D8+ @"R&86HB)*\$37I:7?MH\4N=X<_+5-S]> M/E<'C;R%X^V3[X6+?$X)!,BY[\$"6%Y,"7:?7H>XZ.3)5X@I'9X^(4\8MK49 M=EC%1)F"BBGE)."ZZB[6B9S]5H49N$""Y'XZ9/[Z_,PK>*=KSMD5OUF'@-:C;Z%_YYT%UMB&QEC(L YR&_'OC8[-D@0JPIU4!9]]+>4ZWJ)QEVHF M)YNXJE:EFJ=_D/CD^W-A9369]C[I[II@8H(YW<1/ME."07]7RD=:-&BWYB7='L@'<1X3F:COOH.<,H'YPW1O+6 M*C098#&R<3FTR.A>I\T2J,R8@@K?^V3T/5Z$ M@K7AO"@W^)-*QF?,1W9E>.Z#1P6N? [9'/2-[4^;:HB#*,WKS<.S!J_ &$(G: M^J^BB%-4#IL&HR6=Y=4]QO^UW#D.15WHC<_3/XO5A[9;75&5>1D=QI6+1;O\ M/6@8;O-GXXR?YS>J)/K()TS2,&HY:'&A%7G$=BX5(J1ZC,5!%5O*2-; S M*I8JT.S1W*IA_%M4C)OYLIL>FI*[@RLWGDT=S>&*5EZR-P*DK%@3$[BY+*4& M(H^6,^'$&/7[B9MG4J%[LMUE_,7$JH6/[) MXA.6^6@D68?&FX:**9IX4E'=-G(%N%K9A"$Z2'Y&\3TFY[^(.:IU3 ,7["51 MS>?+U@[87V&4RLJ/LA,DA&7?SPYEE MO!-'W+O7)OZ8*#UZ@@6 ^1%;I3F$O.6O;&:#BKUHPE^)K,G6MC MO*T/"9DU2;9; J!OL2:*9IPL KH@>;9.%CT>QH:-6EMB3D^?\U30S):>S"M3 MJ-[$S JO_%L^&M9B*?TVCNDZG,?4]B6.W*WMP-T;#@Y@U'G--9V5FC2^3]V=*. M8U&WQP15)IC.QT]KKQ"Y7ZB4.='D<>S &_C#\8O8D*27X%FWM[ MYGQ!.7(O.9@E:D4GYFK;5F@9'[P!:DEBCLAL'@8?H\OTGM(+?)B[BY\6>'CM M$E+MD+&(/O\5Q"QN5-!HSB\-!^*=X;ZA*VZIEX^?)]]/HK^1^$'4LC"U>YJ# MF3#6!/I1X4>%.+&U:7R[4GW..0?9V9FKE8E#LP;>7+JBX_V(*^"351S@W;AS M<@?->1]=. ))COEY/:NN,/YU,L954*,X902FI..[VO]"E,-T-^DV\43?(4S%*16T"9#_#N,MAS[6_@9WV M#7LY4M?,%;&KX_>@NTVU'/.%I/.,V)8@/V(+J01*P-C!'1MS7RK:,1%/QD7" 3\CT7 M[K;/L$/FXO$-QGBI;>J-:M#6=D(E^S?FC-ZPI\A]L521;8CM^8C8":#,8UL<^ M/=X4=C9Q1NRU;I:\/R:\U7PZYZJ$6%Q83-$6G4 ,/Y)J?=RFV7+=.>]('@I% M"$[;370*7W(T(P^U&GXZ_YV#9@;O(_32))/ERBD-.YIB]Z61SR=7R,[L4-ZHC^X:P!-T% MS5)R<+RAJ$(4CF/*([!(>XV&'4>/3UQ&-*&*@L8D#/DX$])),=0K$ALL//") MS"9(3+8*O;@[/1XO:9U\AWCX ,T_V>3E$#=ZN(Z3-CKRC4_@:F1FNY"C0,Y_ M#WK_^$5H%^6_13K8+M_CP6=6* =CY;R*R4\?='&Q[;RK#,F@6-KR-=J=[&?X MR?C5>\)>_M@.O/AA*7#;2.S4TQQ3'\8>SA9;Z_&K 6[*%(&H"63V2VO<"WQ% MS -]242N%8]M6.1QSD^T R]EIR58N\*<);&85LHB?@/IWD6>*FPC$? MNTI=$.,,$>%= BL;H#P1"A2J1#(,)<9%NWSUF>_PI",7+,<)!GBGSGS*#T;R MX:C#XGKO%0VE2PQ;DZ.CDVZWU\=(Q]1!7FDFTW;$4.C$1@$,\N1X6I@IIZ M$P2; MY4_!B[9<+)IH8^)V=>93XN[ABG*(N?)%(ZGCS_3QY;Q0YI/>*K*[XMB'' $'^B?/.N.>"TZ0 MJ370GR+.6)DYAJ:A ADIK-8\LB&YV75,:/H"@YZM(9)M!O; M)-<" 1U%V!^>GT1KVA*)4AHC!8F[F*?H#3!29L6"HK]3_=[@&A]7S-;6^%#& MK+HJ&IF5$&Q**O-KO<4*S37,:C4Y6KU4/G_F'.7)"4!2KY&@(\, N XE] 8) MY7]!G5K4HFA,4\#U!ZY3.<%K4H:?1^;U7U.NEJDJN0N]05T1HTK7U53JR B_ M9:=X2?4G,7EK.:,T7YG,Q>?.),9/+6.HZ&Y!^S*?YQ#^,KPQ&34/4@)EO53YA)JW2?CPL)Q?8M4'X\FRR&^ MA O/S=-+ ZEX1[ZK%*5RJD+O\8QH,?%X)[X#V\Q^&'\K,Q!MC#^C;0NOGS=M ME;.86%..=AIPX2Y&Y%05R:RMB;Z=JCNR ^XX3\=+7![ /'D/ 4SQ4D;BK99'*N.I MI-(N6C-99F7$H=N015AR4Y3">(9&G(7S3VAI.60"$TIRMR,S*?E(PU$\/@5^ M+B9NBN%:J+D)Q9,VZL436$6Q6RA&AD:J!]^*L(JC @MBN@%\,Z#YI6)R-IF> M*Y=OS+UH//^-2*UZB-1JM':XK) MKJ0KX-1OFA:+O$9D:D7C<.,AM'74>^]B@DIF6L<&@/ O4B98$ T+B;/AGEBB M3$!0':X I@(IKH++88 AC[\5JC5#)<9'QQ&])F(XFR;IXZ.G/.\4X9O\TLQZ M$4HCLDNBOE0-FN +9'\&8JQV]DM$3HGJ:/ZFB#"7+2W";#>B0,J*3YZ*3]K6 M"S^E^'%KGI<8*X,^ /*"$/\$_N;FE-UE<"!,0=RB1WHEN@Q9(.M D"O@RT8+ M)#E,,!\$D?<&_9FA<%4_($W)M!U+5%OKY)RJDG-:.CEGGY-S0/N^MDC; 0J_ M3\&;N5Y=.Y'WAZA@-QXFW@ X$8Y(G#BH&F)YH.L]^12$*4SYA*', M)WS!1I]\="Q)-Y'?#!N;8[E\/#L]3H["N>.N/R:A5)(?C/6#YVM2[#WUF8?")__5L;&'E%O=LT1$,QP[P?Y_T\A$( M%12XGN@5,@+]ZZ^$*'@2&^#Z&HJ;/IO.>"*G:=P[#U-+/@A^PM>X!J5N;-R+ M%XST>53+1*%E;SKP<=4SSY\).Y%:7AS_'!@?1,M'K\\'IO?M_TU_DF8GP0>Q4YX4D4>TH_NA?('0))V9T M"/$E'CY0LQ?RX&'FE8?:Q52HVBBN/=##'QS>C ]$JR6[[_'\,9L)U5ELG%^] M-PJQ'T-\ZRDP&+W^!2]C 7BR!'CY14E; A#BS#!-S<-+M+TA!0/'L+\GHA=T M:E(J+K6LB-=[R]'TP"C$C-QA?#2^-P#P#X-#[KQC<;:O6)C,"?)?2>7]K>]) M9JXP+I;1@S1:8%%!I_0D,E'H<5-JC,'-D^2WD/=XN$3TFJGKXGIK]+3$)L_XO05,6D6M)D"/2RS8^/_8*O, MREQ+DCAR9$L*\P!8'<7>8UMPU;3TP'G.FY7.;?^LQ;JN0B]=NW+6N@A+XJK# MH84NYIJ/DO]3FGG$%;HH2K#Q\9B= -8#88"8^RAEB]E"/9CP%P]8C+/ MZ'C,=69R/Q,P9FJ[$%,B_SF1!79O\. OD7<6X!9B8[S&9Q#<<*[X<+3*W(LXW>*'XDD_;C-1I+YMQ$.+@;V1/R,/P M^M-[$6T[<*CY.'8,QK[MFC(KR:.,+Z)5E#K,:4MBFSLB\SM"<#!C))*;:]@* M$;C#I[@K8[*Z7/BO5G0G,GD E[1@\G[*YFHB4.WQ ,R2099 FLJ+H]:V8GW9710\M83)<%X4U&81RSUR3C/_"012<]F M=B>9G OOLFSWX1.;/+*4TO8*+!)G*5+'%_THZ MZJFNR?CVMML5F^Z!1'$]]Q!N 5[+BUSIF, $T/5#S/)=GC:R](V3BNC3:\D]ENB&,L=&:I0\P[NKK;F!C8\T MM4L1R,\+\R[?:ZR1Q_!(LJT%40WJ;R@<6V@%SD18/KL=EEP/61J]>/ILY&', MEZIND>+Y0@UH'/LM:G!&-ZHAJP!V*>)[QA_<2^RH9$667-""6'1%957L1!)Y M2$G'/2E$L2]&>M.CE(\E@/-HHN(9$U 9+>HH(W M05&Q+RK1XIO_=3J=N\[0RN^?C#Z^Z!423UJ9;2U(R!N-B TA3Z!3DWE?<$24 M\Y$\PI\IG,*P",WD?URWHMI:E4^6U1-SWBG)FF(;, J$)!M6OK)"UI] +YPH M8$RT:!].+&?*]2Z? C/T=#JMU-"$1*E0XN0B+Z#E+[9,2W5E MH]YPO'XVD7?YFNZY-XW1=,89#FW7&6=[G7&VA5*7*^&[7-$5^?0]5+C(=R'M MO.[=CQ,O2[HIU;_%C;-(%5E6/>[X 51X3JJUPVXI^O?BM_XB95BN6$E%FV319!,"C M;CWBVU&VO14DZ[7)=1K]CD;6N**L)MO7B718+"I]8*+/@#$/\"^DT5+#6;F, MU$YY@'BIVX3Z47)7@>4'K[U$]-[)UXC^3$_'HJCU:F29RZLWR4N)/39X*H!A M\T31]3;^!#M[.<2>"BNX] MN05'7QQU.@4FTQR?EC#(H[1W.#YNJC9[9E^LEYWKAAOKA;>B%\/M!![?<^T+ MF6NV5$]L-1;TQ+8OY8.,0O'SL'Z MO:;-@U=?))*R)$&31;B9_I_Y[15>?Y]TXP3,)XF[7.6T15OH_$J"+MU1@_=3 M(.4OY3V;LG#LB<8Q.>M@B"91.KA.5^V3IO ^\Y[:\+)K?:L%*@23]?)2]_F& M.9-CCP]L].'^N#LL.W.69"@E12XTQN7)T[QT)ETK*YMKK3X]S#7":H=DL['( M=$D1L"?L_:9RJ)UPS@K7V4J\4 MC\@W;"S$B+:7SRW R8KJ.T7XB]3?'Y+IE2[:$Q3MB7[2$=6]'_CY\18DB0[$ M(RKQC^ODJ0.YS*)'FPT5#2[Q91F-S*]QHMSQ8 BZCFS '?U^3"5KTIAV9$[,E#"G$RT; M2/0N;&7=7N2BFR1((Z C!^O9>;LN^;$BHJ,YW.@_6R M&:*T_QEQ9(Q"R@0TC"YB0KX3SK%Y$RAB%+:5.D0D$G)LL4Z3OQ,?#\ MIISR!-GU2_;I%^^5<-0M;"(Q7]L6):.'4^M/4:1+[0I>N.XS%DF4LFE)7$..>Y".E&NRS,T#F1(E['XO6GUTWD;R/PKHF\*WKU#1E)$??3[ M3UF(9A&8';:6R%HCTV0ZQ5P,@@U",$TY=Y;ZW$YO(L5-Y MZ=MS9OTJ ^#)_8): Z*GZ? MNG0GNCBI+K?AG*P'YOB-R/;$Z I'G@Z#-D0)Y2+_! MLOA/T:AQXF:D.:(NXV96"?!4(Y.3/$6CD8P@(P1!H(>O/(-W#R(OR*'TO8D\ M02MIP"6_;43?INE*H3D(+91 MYI[D$!LX49'SF7UJRC")+G\2-3F(U=@QLQ]84C'VYY--0J5-4?GT(<%^Z')^ MA0?!^C@UFM^N^>I,@,Q%4->KDD@VIR<0\W'(>R&:6403JD7;,_BUS\:@6O-^[C0V\ -V MG_@817]#8,R8/L3\0$3[*(@CXCGI4=I)^IZ1M)R-^<0>70;@W"N7[$M=P MD>%/V&X#0 L DLV'7NZ8H.6;T3V:[#W7_N8-K-NJZ"P0UW0:(@$2H_AT( :=B"&/Q*B_2I!3FQ]U7(T=_L!9 M[KSA&!@%,EQ\]+\]_T_I&J9"[OD@<&S'\E],V0_:Y/Y.D8FQ+,KTW7HQ6HWF MB8NQG! MQG!?WRDO+S^+<'-R+I)SV#GX?'346,PYA#L8L\D,'?(4FUETI0=ARA.TF,#Z M)-QG%!*@ <,<6A0PR,PEP9$_2(;)NXI&]J3"&;ESS8=4L<2'D*-?GU)1HJ2@ M"7;)(O<:F_[_[+UK<^)(TC;\?7]%A6?GWNX(<',V=/7_]F5I5.( 3& A6B)G9G;(.D4E7FE>?,F6ES/&#"'8=< MVKH(F$_ :GVL5'NH#*P:8U32CWQ!K%'\R;T M_$W638&*ORTV='OA0YS$J3!59*(YH7..=?>D(W0N9Z=9+>2*"H;,9HS6(F,$ MTFEKC/&$P1H@>%1;^RR.V_-HT6[C77*1\L8-\['>PCQ%5\N''KA?V$8S. MA?W*^MX8XU>T:0R()*"+2.\.546NU_) N5 ;0X$7CXZS/O))/S_7(U_5=Q*C M56Q0$"*!#*0A^.TK.\6"-#AM710Y.I[TR19=KP M:B^R0Z>B]U8LG2; G4B:1/ATL6P)\VE;7$=/:6K$LK:6[7PR/4MT_ 9JHYE) MZL!V)\O9+H-U@K=A N-6O,N&'--H=5*RZU\),<<<8C9$)DSP8!UN+-ZDV$A. M$5S$638U;3Y#E)]L9"HNUS+4J$W):\SN4?"=863['.@!3%HFSV]8Q@\(FJL@ M#PIKT(1#<\[&:;VYW.P>C? J6P2)KR)[-&8\TYR9\6+XAAZ[P\8.E9.ZB!V] MBR^(5 E;:V*5[P6B"V$FF@YR3J)"LPCF@@C/PK/FC+ F;"XM)!JS&/.:"%\+ MSV$*GQ F_D;-FK Q$L+TU!Y1D[>/YW5++&,QX89AVQ7DEU4BT>=AAEA"3"RX M.8)>1B+)X9A@'"X]N#;7^FK)"6$:O1NX'+,[KW M<0%-EE\BOE]V$,AIWJY+ M-4>? --?\,:X".VB[W$JX[?WP;DQL.!.E(;CK((F@K%W++_38GX3@JX&HV@3 M>,>S^8'Q@"EP5\,,W>XN:%^BRC5@\+ F@?=,$\$&-FB,E7NXGC8>5^)U"7$3 M.)SI$O:72%E<)0C#("V*81X\YTIY5Z75+"YMAQJ/%F^3KK\,HW:L+F ,^U7D M[&;[4#MOUB_$2DBPE R]XE*D4H[%):&;CNG#.077&XJMR:'%%.(TG M'V.0,%HF\VK&=FW1F%P5_,$>O+ $MJ1XS.#EXGHDSR"Q +9!@;$PS2Q>N<+(3A#62[R)L5@5,]\R+=UZ/8=R\N7<^P66 M\17VY8S5A RUGQM:PXNUVF_>RL:Z6RG.=8V];.10VK[UO208-X6?,.">LJV' M5X2>0TL^=(_!@63+II,WRR;^(#+$U/D,N32,ZCMCZ/D26(=&I#[%<@IX8@2[ M/TO-/R;?A84)W^=75B*/(7QES:(U5F\0)4S;HM$4WD!,J= UQWF!KW%#E]5" MAI$*ECG!O@O0SF9LLYH%SW.,!]]CU6'HR!3%P'SBFO=,Q7 44?G(]4J>4J!98%&7LP5VS*EFLMFAG'922V-)WO M50Z/@<2&7(C\#QL_9B\J3D>XU7B+"L,*RP9LYF^=XI!8YR6Q)8$^/#<+YHD% M 5F%B>>9-"&CT8&ZSF&C4R&6&1^]23+_V B&U:3I%\@=E^3?:FHGG MN&[71V\]OQVKC5NO89[HLXA'L$ZFI2K'FM_%BR>C;.4$3Q\>N.?B[A@( M]>V6.LP%FHWSW7UP=5R#= A>B]SBA"I>L<7>+T.V7,>T6639H-*+QT2K+""D M(Q.A2NU[O(:+S:1$8HSKPD%QUS/+<49+7=@1H+X\\ Y+\7OC "2/=;3'&XG" M2C[T1%@8JY8V,DRVH*TL+AA4$#X/307 *5YNLF+EY\LNC&K.?>L)8R2C<#/& MB*8XFIH7#*&/ELV^C7MKP[2T6&%G9!SB[',01R_BFJ!UU]+%<#$B#)NH+"I6 M*,<;HX"8%$*$38/RC"K;>9"9JTI+MAK5434,(#G:JH9ASVH8R/_]Y=O>I[FC MYW^L<(I@,X*-<0KUI(X=C<9I<07Z@6+>+--90('P)I4YWPV?ALS&KU38N'N0 MH!B_#ZLH%T!R.6X' @++7;.O6AM0(V /DM06L7IFXU1/WBHG *-@Q+Q!P]%? M*P$.-4?QL(2DX2M\H+KFLSX(,0Q\UN9 \&,1U5MOC/OJ$U"G37HS_E,<6I]O M\37;X9LQTQK<(9+3O%;4Z-0:[>:"[2MX1E @0X]_'M6."/+@#)5:ZS'\'901 M/?R=%8T_XUH/TJ(L-'/FLWP(<>?IR-M*]@.@9#P"$4 MH;8&( ?:F/=@CU[@/TYLO;]1#=\J7#$6:F#,(X"P!]OS[.GFZYA_(5S&*&]$ MB8C+&^WD_B 54!?]YU%GM=S,#S$%U;"_<.*L\N.!K\U^$I;-19S'AW>U"L'_ MO4<'XQ;P.\'JX3#IM V((3TW!_[-_ ,#=(MRS3WN_PQ#E]LZ1R)X.+YM16+H,"3@1,4C4A-(PT9:"1$2P6-ZO[J_F6X_ZY9.L79 M@MC;J+4JI-'LPK_:[??;8?S \NIT?]TIQ"?A_,^U_12LNK?^B?DJ4I$_\#3] MFB?BIA-? 8]J_IJ4CLRJWJ9V<'2:,3*@T:N]-D>%^2/FO1B9OHN;Z/#/\-3# MW(K:VKD55]>7&)NKM#KU2K.WF%JQ@X--VUEIJ.J "3@MR2HS,:A JY5.B?- M2@WGWLI'P++(S':;B.K^Y;Z_+'BT QV^(#P* M_U_OLD5\7S,1(JJIBV=$E%"97]NS)IG*M/:Z,S6KM)3KUYL&5]%\ I[^PG6J M?BS/=&A'U:^WO*B^'TT3OU4GK[$_>]?AB6U@\[+=PZM@4_ M\CE?[CJ-X7O[4% \$'T#QJS!.YM W1_9,_3'].%-1[Q3M6>3OA@LSN9.D&A? MR!L,5\<>+^;[8IVV9AD(I-% 6ANJR9\?W3HH@7R@<):L ML[$VQA;&:W4:JK=YIR'1AG>8?#P\Q-1TL3'A7%#6(06GRA@.ZWG!R[+!7'M\ M$3T_9PY]8GW3O_3[M\'PP?C76#6C0\<&GU:"]V>B_ONL% Y+@!AH;7!.6;&IAH^WH M6,4?,LYU;#BN:-DQ3Q_Q/BPQQC+ M@O&*0[*2BZ^3BS$Q$S;""\7,>F(NWG18>[!]3[ R*T-VZ6-\CG> 1?%KL!\R MF&F 3#IV-1==1EF[$'&U&&F-C4JGL4O90"M@BWBM>0#D;'JW&&[ 1@3#_RP< M&LVZZR]@).O#R+HX88LH(QCOFL1)WI@_Z/^1Q).Q@?:2Z"#U%L'6Y&<0?^- M7HJ16;D]JB4P+9BR)UI +4QAFT-6;&,5.S[C@(%K!7.%&YXG40MBK9%'O)>R2]$5;1)LI/%H.T:0 MNR9NBJVZ$!\2FFXX1LMD8[3B;\>Z=+"FE;A T5FU$NNKQY<#AFO0/PZV''X; M86,TSV -Y?CS8/6H_Z"6AKWL$I 53-%.+!'UFMB0$0VG_^%NEKA(6'#IH4#)TQ] M%R-DX-MC.J),^8\V,]BX^./=1-/IAQ?6\P1(%6$X_KU*\LTSU<4G,>Q;D,22 M;5IX\74'%07*)$/_60S[V0[L7!BTQ- 0M$?@9L!-H>XYP]&1GH?][7:(W^7M M]$V2TB/-^X>MC5@+(_[5O\7[$^70KANLTS]P0$2$%FYZXY>%9GA\>U[=]V7. M%P;O:I_EP^F[ER-SW2TO/ MQ:HUW[-WO.K+_M4=^:/_]?N ?!OT[[_?#;X-KH?W9&ZI&<[JTJA4ZXW;;=3$ M=!CD&L+8AGSCG6 1K-[CZ!78'<.=H-X4G[XR,4!T.?J$3]B,^4VB3K)@2\0N M8+;%B#>S]?D-@WZX&JAP4]$6D$]6 6R%5_O!.[]KY)W]@/-:1*O9F>^Y[[G[ M!@#7?D[>X)UO+7[[F-S,_TTT0V<_LK6)!^+(.@/'.S-KB\UY\UE/]W PC1?V M,+:=6 OCU)7;#\+!PR+V+BQ89[)B1&>4H0,*%I]U-%Y8]<(*A=^,O7;\E;E" MR_7"_-XGD,EB?@6;#R?>D+NG7"_1UU5[T@Q3+%\,T7)T?XK9,SHMI=F"/+8. M=QEXT&($=<008H!(.)H CX-6\ SH3\,+?@W;;(8GQ0< <#36B5+E,4 MK>A(F>J)A@KV:Q_CQ-38*1O,J&?"SDSVE@^X,X6.A"\[FM$>-R86OY\@5K2\ MXU.A0K !Y%]W0Y.HE'$%:K)-S-'E/5(@6N M0J@A!@F"9,:P"M.1@]_*J NMI)/F M9_P:/&INUB>\VB.;[NYZ"_9FX+06PSQ6$Z(8TMY/C?O_P^63XH,HT=P4TTAK MC.\V?@FT1%P=OY@--'WA>R_&AKAI5'PXU/OJV/0=IEPR@R+=-[$P9:A\>S:< MB%ER2%@LSN,^:[/XO&H6?6"SY](>81C;.TQ5I%F+Q+_4 B(!P<+KN;V>%S>0*;WA$8-4*C61F&//OZ("KKA$@+L"I;]J/ MAKXJW2:*E?*$FWHE"H2'O@3A>>!CE9$0$E.5F?45!4!US9W,K7RFO?#Y5@+9 M8J_HS["(53-Y/&R _BITY/]!07N"*X(TP,$?81*@C4?C 16_$*!+SYZR6-]- MUA[P;OKPX)BW"IO<8\!S*7FO<6QBQO/*&$X0[.GS7(@[EJ>!)W,)+)W-']P9 M\3L)YAAL.B&0O O#X!G7B=WFG6+Q#==>8'@\8\/D0BYK>=]0)A*<6QBE7C#X MP?5%R?/LX :!PPL+\PW790'6/HLX;S)N M$DQBS!RNV.PE"PZ,6)7!?\XX[-PCZGRU=<9 _9^&6[U!XN2S%+VOD=7RC3W_ M/V$8Z^PE_/&W0/E@,,1N$GYVQ1"'?=!1PV@I=\$2^]X;S-9DI9!(>M%83 )VCR+*AG/GLY MG(3*#D,,UO7(U_@8N13I<4PN^*BD',:ELG%'MH>.,>[937^5T-DVPH 'Z,N9 M%-E:KRVE3%3V'SY!\CX V02O?*$6FGM]:]0?H74 VCI+51!CW?.ETW@7D',& M55<6K^:Y&:\B[?J&1-WHI1"UEE0+-#XYD!^V%8YW!OG,C:)(ZO[!:'Q!J@:V MW3J9(55&UB*%.'2"<]T@$LMT8)V0:HV,Q7RQ+P6-M[U%0S3.H MH #V8DD:((,@TU&P:C10,S',L8Q6U3 >H5@2W6":6JCX)2)V+&X8&Y_Y+N8] M>_\:]7@/!P>%F)20O?R-;ZP0G+!AZ4+^2*O7KYTTN_5JO5MK5%L7%^?5?K/= MK9ZUSLYJS>[YX*+>GDLN$3JR3T=]0 2]6[N\&+3.>]5^I]ZJMIJ#BVJ_WFM4 MNZU:_:+5: W:)S4UB4C-$MB3$1K2S<;H!VFOG@P3,G9) O6:&J/R*E))=R^2 M[^CPD8%XU#"JLJ#D_G.(#/R@*$5>2N'^\;HB$T4FJ\E$BN%EBDQD)Q,IYB > M4$.\P '0*G0@%MIPWJ+3?.NTL'UT@#<+'O&PT,])/48=RMX\1AV*A(]1A_+& MQ\@BZDO=$#^*HRY-BA+-[J.TGS(VN4WQI/]]V7-KNV['>73Z+K//9EK:2Y!9 M$(3;^U&PF$7RP]/<4F[)AO'W>J76*V;23DR#?ANUIH90'4! MSWAB6917807'^8+ 3'.T=G.P]'.PZB!/=L,_2"C=-A^VV90$3)7F5%J9H M05)L:^>+;6]1R!H*'A5+*'B4=B!,6#8@$O&U"$U4,KY*QB]1NH]T>3PJ&5^E M?*ED?(624J'D_G.(#/R@*$5>2E')^(I,5#*^(A.5C+^_@3V9D_&W#QDJFU7* MQZA#D? QZE D?(PZ%)6,+W\.CTK&WXNP7W8^8C>K!^6^)>,W.[(E$RHBER#= M([//ZO9S;NL[9I.Q\9..JO^CCCW'(:R5//S$XOURL(G* Y&+5^JU8GEEK70H MQ2N*5V10GNKU8IE%NF(.^?0O60Q!5C* B9*\DI& MSVG%26^@YZU;=^NRQ%)U5&FABA>6\$)+'E[893&+$@^*)9:Q1%I]5T$LL9:- M5E+QL**8)UY14[8)*WP 4#@Z)SDI#Z?-K#L2<.480!PV%9\*YVXR5"H:]I<] M94>,@WL&)L$Q0WR&3-G'N'R/S;EEG T?VY8.5[&3F)_RTNC4&NU6?6Z0R\'4 M@97?T1+L:K=59'*=&!!(JN1?&H"H\T+"]+K#]KTT)5-&3E*4D?KB(+UHS"$R M/-,G5OAIPZF/VD"'5'EO6K?:"@^5 05JJ]#C49--UQ1STN4F__Z]ZKQL40-$M(0:N M>E0!L)<='.NFS!)M1(K9JCC9_PO._H M$\VE&T%G^^BT7:O) IU*T90+/Z^F,R (A#P/1NFV;= ;GJ:]6C =O"\]@O#U4T;B2L]:;:1FC3[ M^IS9^?*$L#[AM5FKGCU+2AAQ2Y9=NUQ*+)SE'-G-4]W*H_W\ .;K\LSL%DO+ M?D^6=E84R]9\S][QLK_?7U*^E?7Y"KZV'_^LO5V=Z)9B?;>Q*&49]K;,P;FUB,VP[Z% .]^) .3ZIYC6\#!0^IZ%3*PG@SX'>^@F? W?6+9Z'N"]\*L_UO' MUJGK)CXX)@$GLZ\8(2\3C3$S02\6//Q!J"SNA.)?<6'H['*HZYM>4.X0D%^_>V7R^%=9F_?&)H$V?R).TS&5<=^#C^:_PPQ MBMQ^N?[^;74'X:59^O.4>'0J'D;(935X4U"@T4I4*3_Z7&_DE3 M\L5'1Q]23^FWB_130MFH+"'/A.]M' M'T#DS\;I9^QEG=A%4+]LKC5^! R!DS0-/,>CTP #/G_ :P"4X6H$[0<'SH?_ M>Z[626-C6Y#Q\3==2=2RFYMCU*FD%Y$(;G,:K!2H9 <@%0&6#]N![\@3_2X"8,XA6YA/7# MBU5_?U]"Z)(N!+4"K3IKI6>N!UQ! +ROZTA1H-'$J&Y#5&NUZPK2#C$RKD+? M!Q+ZSDX7.LD1GRXY%9T+(AI&-!3$H=\<998EA6<_4K;+JY"IG.RB\6>%WI,Q MCF';5EJGUI8#))1*HU0:I=+L.ILOK>(XS25=I$9S6F_(D16B\N4D 2Z5+W>H M^7+-M$DEKT*IS56EDX)ZS^Y]3YY+S7*W#X?U.N#9JUZ5CNK55N]6JMZUKEL5,\[M6;WLM'H MM\Y.YD+0HH#.IZ,^,)S>;-4[)[6+?K5Q'$[:.UOL;U?"MCG:E/FQ),2AJ3GM'S6E_U9SV.,Q)-:Q=<41.'-%0'/$J MCN V1/&>"\J*U@M772P>*[KU,V]T9W0K+2:'1D#+XJ0)2#DK,%]TA%RLR-- MMV(9A6.I'?'+"\Q**!NE"P&N0)&T<8EKBL/XL<9/=0> 4J]TZY*TFI2(M@Z8 MC+,F'2HRWENY6.K,FK3*ZA)*Q(/.G6FFU5:M)U\%>>P:DCJ5UDDQV7Z;9-(H M)BD#DW0VEM[%,4F]&(-6I9M)*LT_/YP.;31PH[8(V1UW]A6I5*)9!%QI QQ5 MHEEYI;2B_8CV#[ >I>Q)EON8R_GJMD51\B+AV8OY]2_"W+VQ :1/JZ;Q1-,Z MH\4[&ZG&1JM;1L:33H/-_8I[NU8.*N]TU%:=CLKJO5.=CHK7@632;5;H++U- M.QVM )\!Z]4',/%&W:9;:16DUBL7@FJ(I!HB[6/LL[7>O,HWX5ON?9):J*0J MH#O0R*?J*7 ((9_,-DFM^O91:_O=DTXDR6I4S9,*QS35/$EF'2DC65H2PT]E M2"M]2.E#9=:',@%JO8F)4JI#IPV5"J-4(=5Y224%-%L9DPIET;-Z^Y,WLT^Y M [D&]5\9=W]%S%U-$WI5T/URHX![1P7_=H4U_BM/E_\=(J80X4OJ85#8J=7- I3B% M+'8.WU2_J734W#*E\JC4&QG 9H7YE%9S\59]9D,74.OHM%ZKU'LJ\_A0]15E M'>T?@K33"AQ>FQM3@'$$6--00'.@.HDRC$IL&+73BA=>BTA;,HQJRC!2VHY* MQ#OP1+QV6L'#6Q6ES0/O73"Z5-I=N#99T^Z&B>F'[+U=,G/L)V,$'V"H&Q!D M1#W-,(GV8/L>BU@O)MR5<&ZBF$RH19RVUG3"N8F&K?99MWE2OZP.^KWS:NO\ M[*S:/3LYJ0XZS=9)IWEY,3@?'$ZVG)K?]K;[A[.YZC4UG&OCD88! DDTJDLQ M1DZ,H8;6O8XOOCBVZXK6=R++GO_69PEP,C")(A]YR:>OZ_[4-UF.8T0K3FM@+TK-Q;*XD3;8=U)NU%DW,N,R(?9R_?M/_: MSCGZ9=C"T[^*'O<[DH8R',./[#1.):E*.$E1D+P'99[3E*)SL8TZ#N'&^ M(2/T*IVNX@/%!^E\D#6-L6@^V#RGN5,Y4<@OI10\90NF7 % MV*1-M=P$;&Y!-,)M1M'A%JAH-BK=7C'#MPY$ONX;E6>,0"R6RO/5*^N5EIRC MVA7=%T/W:>,/I:#[-[1'JK1.U/0AY'Q1Z MI445+FPRJN$V\ON+DRW0#]?J2=GB41%X,02>=UY#/@2>KPM.D?S!D;S2JI1O M:EZKNK?'WK/F4*56%2YU$7Q(\'F%]+=+ M\/DZLQ0+'!P+*+5+.;,64LL<;409!I50\2I].[M,J997*@,CD6N@D"+#C/56 M,>)JDVFTBGW*P#YYA>AS8Y]\]3_%4(JA\FHV^J3:A5NC5IQE!)0S8'3*';Z(*;/E]<%E::%;'H$@K>(5CFY').H[M%7+3H$ )$:L)=#.HR&@^M M0JJ4D%->^-3H5>H%U2EM,NI.<48).2,CGT]%O127*"YA7)*1MO\,7*P:EQF=F[GQ@)V5'0H-AFB/C*1BK=_OE#!6?-2 MZUWF;PC7^ $6&;Y,[)?$SY/05+GM?QE4S^X&_=^K_'/^U;!^ MQ+:6$])K]HQ1>H+8XM07$&;:=Q9'RJKQL*=J/&QN]U?C8?,:#]M0XV%+R1AJ M(*(:#ZO(9V?DH\;#*G(N$3FK\;#R1)_4>-ARI?*I^ZO[J_NK5-G]34Q0XV'W M;SY@-ZU>L"')?, WCH=MUE65H2+[=+)/*SF4A>SS;69R4NFIV0R*#Y;P05K1 M@RQ\\)82WF9#2NR710DM;W:L&@\K+]BD-4_>!&QD&P_;5N-A%96'5)Y6D"(% ME>>;T-KK2MDD0U%],52?5IL@!=6_93ALMR/E &19M,B#<66JX;"RP$Q:H2YN#7!RI9^B'8^,G'57_1QU[7C6L MRDC/LJB%!^-<5--N98&4M+[,;PECR##MMB$CQB@"+X; \T[3D'/:K2)Y1?(A MR>>=HI$/R2MU47D1-U07U1A?:; EM[07-<97"=-](/B\4B_4&%_% GO* GGE M96R7!91^J=R1F^8ZJGG%\H%2+DV.>WEEUZAYQ:I'^ &R3UY9(VI>L6(HQ5# M4'EEJ^3&4'ND-N]S5_WR^FH_J1G,LD!4)O:T:AGI0\5X6FN53D=YFA2%AA2: MD8TBB\98J[24=U31;$2S&0DFNRZ]X?19ES-I6!9-K+Q>S4]J"+.ZO[J_NO^^ MW%\6D5!>XUP-83X,QV*KEI7T699IGATYAN4I;WV9F$H-85845AQL9Z47*M@^ MV'!1J9T4:@CS 0[1;-4RTDB+'<)<:\@!4&J\[(%R1D:2H@I[*2Y17,*X)",7 ML;@AS-U*N[T_TD/:(T[ M*[*PB T6#?$FU' (=3V@9!RPY[MT[)L$KW'!(G'A3\!\\"T@,L^C#C"B19XG MACYA?Z1 )_;4T,D#+&%LX%W'[(/%QVD.?/WGC.KX&,^&*Y"'77]*1Q5B._@8 M#3;+T1"#8-$6Q><;0/;&F&CPH8F/AT4&+\EHDTRI-[%'1-)Z+ M>SK1GN!G>#>'NL;(!U/J23-]>EQ",A_"UHYMT[2? >D(GV+-]@ @VA-'$E(Q M$ -N1N*(\0@L%V\"]*[!*8KSLD"*9!W#&%B!'\,+U1P1--_Q5'H0*-= +PZ0 M6USNC5#N-:NU.OR/_RA$8%+HW>L3.O)-:H\SE,1+W_,=&MU&3S+FV!!R7MN]LB!L= M-1SGD-6-KD(-N5 C+0=O6Z@!W]T0-=I-B8V4I2'%R(E=MMC$YP>@JM//[DRS M@F$;4P:C6)W)T>C6=:88SI9:'48@@\$PT:T2B7$SRU1A3 M$E$3Z8O<.'P.["\\\0,\^,'Y !#"_GWA.Q@H7'/YYYW,EEH3'?(8_Q=1O1NDU<]T(8#.,N1O3>AD4T';9GI%DZ)<^& MB.$X]"_?<"A^A474^O?G9&C/##UKC+#U&!^;S1Q; MTR?'Y":^Z-A:^%OQ90513W\FHG^&I=O3Z"X5$0,,@DTN^](8;L5C;T&PSJ$S M9'M8#L)&XJX:&1FN#L(.0U6ZYD[(V+2?8^L<3F 9L5L:["$6W!/ 23=,'D?$ MIV"*+^RMKLW@;HYMDAELM.%/\8$T M7!-Q\"N^RV+&*RBCR;<=C]:+W2+^6B[G]NKWU'X6]IX->,_.\6+*UZ_P'1!G&. +0N5)JM^< ML!HY$U:GD;+AC6C#&](15F07V/4''KJ!MD6.BQ9>Q M6A@(*>?"\RWMD4D[1/2I]@/>"A1A8PS6%OPM6A$N ,24/YWAD_ E1=8:>V)B M)^;0'?2YY,HK1*S9)&!R/8-X$'^&4Z/ 7ESP.O2)6CYE#PY2)Y)?%X+1TWX& M?]$G2%;L!)YMYP>N3FQC!4\4[FZPC:HD,S/P$<%VLT>-#,Q%@"T^CVX8?WF4 M@M2Q\/YCEK: J4Z@1QAP [C.-_$5'&+#UCA"\7IABD'B'ICJPQ-H$GN.>H'N M(=U1@]U@\4@7"9((H(+W\KE2A[^EZ1JP1\YC*3-TA/:Y[,7C2I:%'H3)>LK% MJ_13H,B9YJ!^M!8?!FHG?$_7'(<1";O %4I88M$C(! 409D W%E+LF<;DX%! MT+?FCIWH4+ M=$I'?+\7-S'W@S[F99B+)@]7U%=8()(1XZKU;H,\3^IKZ0?[2IZKM[00@BTH M]QAVDK+D=AHDYHV,IR#M[O;+Y?#N*.&N$#XX'6?'.V$J6+U6^S7([$O<83*N M@CX0?C3_&:;[D=LOU]^_93XE.W5O7D =G8J'$7)9#1Z<=0CU'C^K8(T?8)'A MR\1^2?P\"1W?M_TO@^K9W:#_>[5_.1SG'\UK!^QK>6$])H] M8VR;(+8X]06$N? =Z5US7VWKL6?-$UGT@P-!9%7O\%'F)(_^NE&:2!-(TYS7R$>,7_M6_Q9GA M[0G;=]SVNG3LZ3D:)=!MFU&M>\)X]6,;-\31B#W;(R!O;BS!/A+*-NZ8#'N MWA >EN""AY?PYEQ/TGLB]RQ=$SN*7QDNC:YMKU,]*R?1"[/ MQ77'[FS/* HN6)=+'SE"PZ,?J?WH:+,) (Y#'^'"W7L8W@Q[%X:K/3["\MF; MWXP%#"XO0&G7#ZP )5KQ;U3#]SI:!KYY9VAL*?=BQRT,0>-&W>R?1YW5-DFQ MG8)VEY22M@')1!601)BPX)(!T.5(:+)49Q$#TJQ7EHO.W):>UL!G2*2A>.15/")2*HIG!44D4A-)0PHB.: 4ST!3ZW2++&KEGJB[%%L"[8>/H;MH MOWNRH[/M(7S*@_""J:>IDY+C:;+ 7JGK8 MLH$GC&6)P8E^AU6LTTQVA?/Z*G"K]44J\5#[N6D_V7:EV9.R?D91NP34OF;* MY]Y0>ZO2ZG1EI'999&JIJ\5N!M\^7 $U/SJ:9SL?+@S7J=2K=1C!6^>9?WXL5KJ4WSA/#%0!?;4T]1)J*9!N.*'X M9U T7*^,;L=]#G> MTZD!=(TTB]V[RFG2[AO6K)FBFHHUB0,5WX 'H%HOIT[?K%4:S6*28)2HE9+\ MU\Q9+0?Y-T#^-HJ9F+PG\K?4)NT?QHC:!.@!_O:H1&_AV+-FVFDJ]K"SO.)' M*1?(]"JUKI1N,T7FQ9#YFDF@>T?FK9X2I8=JRE[R_M8SQWZ@8AI'E37:,SQF MV%)'>8R+1Y[ULD/3D8>?\"T>,&N[*TYWR ]7+BSJ5'K=NHQ8I B_&,)?+\=S M_PG_I-*2,W(BBQ NM3TKJ/8#&SM10G%[T+5CS;>D5P4_6Z,;I TYO7'U6N6D M)4DO6UKYP5;M3C/])E6/*PN.JMFQK:\Y$E_52M*2!"E6.J5BF M8)9IK9?K)0W+J'),98>O+,?DLQA4(:9ZFCJI[3]-%HPK=< /<[W*Z&+Z[QB>0=VSERMK!*J1\[*8Q?>-22ZY/!J==N5$):TJ+EC" M!6MFL.X]%W0KK48QMKJR,8J7OX)8#YX=JY?9]V$/;,YXH>1>-8QV8 M5/=PQ.@?=&+H)G7?*QE<.!JMF=NZ HVB Y<+AWJ5;D^9O(K<0W)?,Z-U3\D= M4\%.I"R:DD7LEMJX_6J,*;G7#6KI5-6-% \V:Z:>K@ ;/-7@4.6"FU:EVY82 M;13!%T/P:V:%[C'!M[NJ6/-0K=H+.J:62S]HU+'=F:93)6(+1YPUF_FM0!QQ MLOW@8.5"G7JCTFZJ<9F*Z@.J;Z_9V&^OJ?ZD4JM)J5S*(FM+;65!R4GLC9:4[3UDD:BEMEYO5'<#J8 H MESKL=CXI5(PVOOFF9_!D$LG<;F -PIJ3*0Z'!PJ9^63IB4_9YT4%,+9YRX' M.S&]2PDIJF0[0A@U=%IU.5 L\RJ644.GM]_EX(/W8(]>\#<-CN>4_(T0$KS" MM0\[9.CBCZF&[#_FUON/3]':V-(2QJJP586I&E\2X?\)UC=CSTQ;Q^>1\72* MZ^%?9=_"/['/$E]?#VZ3U (DHE.D$CRY.\/]<6&XNFF[OD.'<*LST]9_''$B M;71JH \TC@@%:IG!/3S'IT=BK]AF"B[XYQ$&<*AIBD,*?\-G?^O^ZN2/GW^^'-]\&=_=S*\S@ MFJTR2, 32QXS]Y37/80$_V^>\-0'L&ZL1P+&#'FAFD,HT."(9)PFN: ZLW1( MLPYJ,K!7A; #_@PT;@5755VJ5XV?U8DQ IK^R&&^4^LVCDYMBW[^@-\]);I M9J+I.JCB'CP90)@L%Q1PAS7](@OTW[;^V$WS)Y;/6Z$_-O;+ : 2=F0V7TM&"O7@+ MR+,2I&ZI@W_0'FD]E%W5QMK""_:_WEP06[\2>TQLW\&=9?8TKH\X?'..R7!B MN,%OY%ESR^U7 M[;RLDO9-)>TWDO8G\DK[J^L_!M?#F[NKP2%*^H#R#;CEA)HCHGGK8A4'J6<* M&*+;4T!_,)X031#YQK9IVL] [1]W!"'18]X,!O?ZA(Y\D]Z,0U@X]QT'?AHB M!:0#0RL5& )D6 4'NJFY((?'AL4>$>*#,."8N2Z8(VG4M5MH_ GFZ=5^3;$, M-S4QL^$H6O%O5,/W.EJ&4'D[:7?J?MW:_74;"ZO!2:]W&G/\!<@"@/L MVC(FO^QQQ['.7!:[L7;0*U3#X'B_!:=[3;V;\1V%Q3U1=U.'?;O2:ZE\4$6P MZ01;3R'8M4).VR/83J4K9P*S+**NU#F=?]K.#S#&<7ZD3MTR"CCIDLM60$3C MS3(-S_3*NN4GF@M&5-J=16>^!!"A:+08&FV^68SE3J.-2JNIFK(6G7%87%-6 M05F&FN^]/YN9!G7[UN@;=?2)9HT, MEWZW1BQJC@2 P>!-6[Y)J0XKTBV&=-N;RKHB2+>M>LLGCS2IWBZGYI)C"@1JHSB6%451;#4?;-T!B3:U/-5J]0*ZBFIJNH4_3/Z M[[U9++^!_AN5=J>8%OU[7R*7R'&E/[%ND09YIB/C*TF\7Z:>$M)C/&0UOSK\:UH_8UHIZ MBU?L&:/S!+'%J6^N?F/NJ[LOY/B*);ST9H;E1\#K7ZGF4C<]8[NM2CDV*N7H M\E(.S*^,P9(\]1Q?!_U[7LJQL+Q#*.CH8R$>?3)LWS5?R,AP=1^KVC%MY-KV M:":B5CBB/M.@G PE.ZL.,QDCX4WP$V>D63H%B/(FK-KCT3?X7^#S_OTY&=HS M8-\L&FHUCOFS_J3\WNPI]GALZ'CZSYI#)_ &E(R!T4S6:8=HU@B8S_$T> K] MRS=FZ'H'?048%;&ZJN,23)/QKQT@0+!R;Z)YA/Z<&0[%$A?<3K@_P7(W_!!@ M^W&2+6V:=;%D;B_./8&MSIW8CE<%X3<5?]1MUW/9)@;E@.XF)8Z\T@:?D+G" M1G" #G5G5,=Y->8+;"96Z&BX#*S)<3^N19,2UN4P,#^''4TMPZD->K5VO7=> M;;?/&M769:-5[9VT6M56]Z+?N[@\/SGOS",^6X1A^734!^7ULG/9N^P/^M5. M^[)7;9TWZ]5>KW99O>BTZV=GEXWN>;>FRGI46<]Z)1L=5;+QJI*-?S-L'#!L MC..?5&4V4&])-I=NS#A]8JEF#A@F.;JENGFZ:7TX%WV0:8-R,M'O0I#&'5"& M&*"SR?"<)B+A8DGYKWMV^#O"PJ6>J+@SHVR^J&^:)\8%H[W,%2_3T!["RH97 MNIQBDS=B>?W[F-&_6*WU5>S+B]BTEXRA&]T#&[IQ0%I$JT@M BBV)8G72L5Z MA!*0UL5TK4!D)LC<:B]L!-\%COO[Z0V?J?E$O\%S)INW-JV=2-F24!9;I-3I M#4"4[1(BAW3]J5: Q<8=3-<%"RQ7&C[;&[?H;JCVQP5K&H5B1$=A1.$8D=8J M-G^,F#B4;MK9N"EQ1DGQ&%%V/>)$843A&+%Q']?78,2E[3L;0L1)1T'$ :L1 M7041A4-$6H_;_"'">-I4BV@JB#A8+6(XH0[5QAYU2@@4!]U:N[MQ#]MU8:>/ M9/-&[&EW6U)T^E2MMF4 I/#_O5G4=IL'0V>"[LH(4_L<=$GK%)PKRFP*+)5> MZT2I-0>JUB!Q$6,Z\SW6UQ+D%"UG#6G9-9QW6>#3VWA>>";X?+>"E$ Z&OS$ M@9;]*?ZV*1(UBFEFOKCIZ9V9WLN%2X>EW901D]0@A0BAUDM,7=E,(\2FC;6A M5J.8<'*)1BIL/POT\P-0T^EG[&Z8R F&P[0=EO?ZD7>S-@TJZY$W)I MVL_D*BI8_OP!;P ;![<*NOV5:Y^X8:A-;1!1_^/%S?:8W-U\)QK(]9WVTQ;] MT#67_'TY$'1JO4[NO:#N$ )OQM]=VL>7[L=V8_!S1BUW4],)Q\,OFDZL?7GV M.Y[DWD1HB^_8:"UZO2N)ONC')>0<@!>VL>2;/3+&H-_A>_/&^7W1_<#EP+&[ M-;$)NA3M?6!J'1%MC(@6;\'@4%/S^ QPT8.A" XOOD/^3D00NG0WV5%1-%(N MB=-JL2=>L^D10)J&I3OAI(OY"0^)B@V@K)A$0O)!=/%-#V65IO_E&ZX1<1_2 M,OU)=3^09A8LG-/Z'I5ML!KU.#^C@H+Z":HGG)>YZ9U6LG'6.CMI# :#:NNL MV:VV!KUNM5=O7%1;O9] ZN1B<#3+G,^CUB\YEM]8XKW8N&_5JZ^+\O'I6 MJW6K)V>#\T[CXO*\V>N7O@1$M:!_V_U5>_$-VXN'JEO48URJ]3'%1]:U19)# MA@[MBLWD93-4*I@U) 6E')#;6([&WX&9AK:0&'WV$AA%__=+MU&O?R(#Z\EP M;$N85$.J3RS8JL=#&5PMDQ]YA7^XL=P__!_1;M+R\$I?,['["FL/E3C>^.E> M65_@.YKU$G2.VI&'N75TJGJ+*QI?0N,9=;F[I?$Y;V*I*%T6.5SJM)*X[$63 M?VH#9M)YZ7OKV)@TH.2NQ)B44?Z[')/ZX9&SK]Q8=/=RMBDE^BB:EH"F,\I5 MMTO3^S**.)=CS[WM>Q/X MT,,3%9!B6P7(U+8DE0]*J$I'V!EU@]LG[)P$JYSD+8MD+;7%.OCI4DT!G1Q3LT;N[H5MO;G885X"-%)4+@&5 M9U2A[9C*\Y&\DM+ZP=:M7?@.)L%C#GO60#;L=,FK*:8V]L]>H\C@F^;HD[#" MH!*,-2 L.8[7]MM$R\I8%\1>:^:4;K"ZD!QO>C,.GA(?E]2IH\!)&9?$]N/H M-*H4#PBERCX1B@76O&B1MH&_XE32Y=E>0,B/^&>FD9Q\\](F,-(_-;?0FALN?72'/.!E,QY3)$2S"FJ^'8.40L)AXR8,URJR0 MP#*(V]1\R:PNJR\!L=S.58(TDF,2,A+LNPM+(/!@PQZQW<^;Y%/Q M?> [<&1\3_XS?)G1FW'?<7 P(6[ABHCA&UFCD3%)+ +\#,[0-8?]E $HMB40 MB%$W;.IT9MHOE%,CTF^:TAZP$7F>V#@G^ $>B>= ^&[M"P.EYSSLADJ*4172 MH\IEK.L4P)&S]/V7;U'2K+U=^':JS=K6:2P68WDC$F6-36UU%1(M()&'!?GX MT6OP*-VWO1M:*99;G M!%96K?9K4%B9N,-D7'7LY_"C^<^PVI+G8WZ/]>[5\.!WZ&-4;\]JYCWBVF@@V;"!*+&R MNSBT*OSD-)?->_5=E)MCWT%7%EY];7N9AU\_YM?OA:9?WRB[6?[@VGKV,=S" M!MKQ.'?B:45TN%2OBE$6G Y>%'-SSZ"N_J&WFW_2JS6F#; M*DUR&FL?DR3X!7)W=Z1/UC?*/=PS+W<9;=?-6\XT5,N9$K6_AS+29[5"5/BA78E5: M^Y;&*I.3?7 I3OK*"@]W]SF#;2E+@Q1E2T#9:4U;=DC9^7A0Y*1O643LP92^ M+2\I_\,84?3ZO2C!*A?\I$4P5L+/7(S_TG;"\RV@^*V8>1M*MLI/W&F-6G9+ MW#G%Z*0D<5G$:ZGKW]:I+._KNH\1-5T)5[GP)RU0NA)_ K4>@"<\V#!+X,HZ MURQMI.U>S/;D!"%%YQ+0>5KCEJ+H/!^)*RFURR)R#\:B52)WSZ H+=?][5!D M&H =EE& V*TWI!RNK6A= EI/:^U2)*WGE(TG)\6OJ#F/YU25)D%NJS5OB8KS M1BQ?GV7*87ZQ18#8K!&KPP)9O)AA'$IGPXI"MR*O/9&8[ 'UB_QXGLB,,>"L M1/96XF5T>PJ+P-0V8F>SCR10%Q;SM\KD_N!<'J918IK^&K?EM3?R"S( M6:=$U8I'Q0+@"E>9;!2Q5V7NC?2?F 3>=<7M;RF^VY39\W08O9'M6UEL MWVFL48>'.?X+M7CANI-\SY?.^',7^S2OX;]QK]+KGH*:Q9/<]RI8_A*<=$6A MOQLD(6RA;.J52"E3'&![_M&5@^O!LCL8B[68"?=3!]L(!V;[EN;?:"QK(\*OCTU$L2;]OC6ZPX"_VIPO#U4W;]1UZ[CL. M&'MSXZKU1J?6:'?JDAX6(F45)LVY$%B3@.S"H"7.=L^>)5W? MXI;-3J;[>N&LYSP3\XZ)E4?_^>'T789X[C%9_)XL37H7RV:E6+M=]LWPM\$= M.?]^=S>X'I*O5_VSJZ]7PZO!_=Q:,WPOI5'/&%<0G7- LMK06U?["M0NAZ++ M8N886'POVMZ,;=.TGX$)]FC*?0C:N#<"'&+ D3;;7H!%(Q4L5.VBJEU4156Y M%E4AT\I03J5H1&H::W^*)1M$I,4EUY)JXB"O+-V>TB&>YMM H2UE(I,B MRV+(,J/0>[=DV56BZE"KR03AD)GM!+WH1G1,'6SG^8AZ$9EAFT8Z4G*L>,#( M:"Z;#AB&Y7D?+\1Y?L'CO!6G^48Y)N7X1466Q9!E1E'U;LFR*:670!8Y=A F ME\%:4;N>DE:%PT)&4^AL]?9*G*%(&7FCJ)*R;%/19#$TF9%NMD.:[*CF6,K> M"NTM7BCVB'^%'UUC)!(9E0@K'"[2YV2M 1=GOFM8U'7/[>F#8;'C/ ^/^3Q^ MRF$Y\ I(&1L_Z:CZ/^K8\VA2E1%,%,460[$9%<"[IMA5QAJ65,I'N+)(P5); M:RQ]LX3R;>U\+,E 9>UU9V%/8^/D$48.BY4!;U2R.[U"\"4MZ^Q0I.5AT__& MF2A;H?]FMQ@G_2;T+XO0+;7I.<3);L1>5E521G&\DM&;P.@CV\<2D#E.ER?_ M;?TU9Z+3QDDP\]5Y;X.E>J75+<;]-0],S4,2S(H3(D[8..\F;TYH=XHQ@3?A MA!7=KN9JBLM>U7Q!'[RH2CF]XK"IRI,W*D^NU^2M3[X8G T/L!09WORSE7ZGG486TQSATZ,KS/'_!BV!^##XU] M<#[ !K)__TG)1'NBQ'!=C.";T:4ZNQ2GJ6*]LDM!:\5^(",ZLUW#X\.A=2!R MS6"!%&S9,;+AM8'J1:>/8S(4?3\6;NJ(.\(C'U[(S*2C1_@1;\>[I_&F'N)9 MHH4<7J2'!0*XL#MX&F (-K0YG[OT0EQJ\V8B&-M!DU+#[SYHIF;IL(()I1Y? M)6M)YP;O(;K+.O0OWX"'^CB8&7[#OBC>LC?RV%69M>%-SEMDI+VX9.88L(&\ MCY[A\)9TO*L*[YJ"V^OZ.@YIQE8JX?HR[F_9'G^ B7.^O8F6V=W.MD1C(1R) M#03D&:9HK1*MY9C<^-C^Q7,]S1KQYBLI;_Z:;D3-J W?JYH8\L3.O)->C.^B;97<.[-F/-M1D5]2U74[W-%?;"%S=JO6Z^<#IY5;RU_ MUHXKIR.]6K(%M79;G[O>3-T/YTN5,75N$I];"DO//W3KEUIT%N7/?X4Y!C04],SC)"*,,7G@'-AN M7YN9W("N:EB:20(I*6S;TRLT:,D%V%)*>)87G >AJ9HX?'7LZM@+5;@D[TF5 M> ?)SO:"ZL>D6>>'*AQ&4BE6BJ3VG:0:LI'4 :7@R*&^?_..R5?-=ZA9(=?_ M6JDF;#^X+H&T%2^98>=@,_FJ\;,Z,48C:GT,8_JMH]/FAT;O0Z.&XEZBI<2<\8A"5&4=EX7K3&R8"U'& M_)_<([I)/A;(CW9-QGHD1?02$'W6#%E%]*H(;_^-$/ZNF>\YYI9/D6;.]?98P9Q0.!,N@TP42V46T M5KVV+*^]YZ)L&R7#A0NVS4J&FSEXO7(.DW'5L9_#C^8_PWI# MA*K[ M;?_+H'IV-^C_7NU?#@=W'XEF/FLO;L"=Z/'"#/]$;X )Y;63#20=H9#_4F/_ MI.GJXJ.C#ZFG]-M%^BDA+>9S1L.;\Z^&]2.VM:+'PROVC-%Y@MCBU!<0YL)W M)"RE\ASY0P#N'> "E;Z MK_,NC2Y_EXJ8SJZY1!-K>WAA)>7_LK$*V6$+8\MFZX'7>/4[X)_76UU4[EY; M6-[8=UC;L(QEPK/M-Z_V7;05%1([8W9-^+5@VX]+R [8""+YMG!&#+-@&\G? ME^M:G7HS;3Q0O5JO5>OM-+>:($?\4O@PX80#0*:!1I70S[X-D0^";]G6(S:% MP'L/7V:4?6,(?[BV/;J.[I9<%#R(;JZS=4#8MBNU%+4-9635H4^V^80X,:*F M]@*[.7*T9];3 C[W*'D7(S=\!X(O$3(XTNNJ[4\;@Q-L?\I6W@4K2GZVW WZ MUO-:H4>GW.*;]M.8^M,SVW%8@XMS#1LX>"^;G,\)ZM3IYQ.=C>CG,1;/3QQ* MN%^A(@)))F3KR&4L XLF M2UG.7LE;S"_P0F#J!6)J2'''Y'M(ANG/X,N8 4V-NM IMH+ M/X '!E"I1 _"T\$F"",R=NSI"@1/E3!VJ]:J.6MG&"&) 6 M2K!Q;8P.5MHI&U<1;<, MA5H=7*+!8ZP?0'IP.]:3TJ7\?C/3=]%CILUFIJ$S:<5WJX+],"F7 M6[ XD\+CM$=0] 8:B#EF4:=:'H9I\AZ?:/K,& [@FGW6TH@:3'5^9[PG_HPP MQ3@#PKB5!9#%;2S86L MQY[!;L^OS;C2AXF XYQLH@N X>!HG)4]-<,%BZ>RO7\ M(O(?_DMU9F/ #>A/[.I)=,V=D#&B@$-U;08/I]P23F=V+L=PR6ABNB%.<)"8 MT-$C,^*%;'(3#M2*\&,)3.%DSJC-?=9F1 N>X5;F/M:S/[5-$\D@]@6D;-@] M/N@@^@#_SJP*!H+4-1XM+HMG#M H[ S2_*-F@ 2!+?%USV<;CTR9?":[$Q^@ MH+_@3L*)/'+.*:59G$$/>-2X8[ =K@=/?B?0XNS @X((F$"R+ @O9@S,6]OG-4MUV;"O'-+%;H(2Y M2>+QQP636N_@+:ZL >[+S?B"[TJHA54;:ZMA#;"+%Q2P7Y%B!(B*,_*0 &,2 M$[W.P6$D\",3886S/\Y1VGALX$H!V"O$HH_L)T9*0@V \]-!\,//7H+9M-"S MPJA)S!J-FE"C!8J.<-@^Y*G$9X.SJ^%%?]UNSR"HJ)!,&3333K-)A9M@_?,] M%Z]ZA^\$=!-;]25[(6:!VO&_#QX,;Z2%AU];^^ROKB_!;#Q.=XEDM; _%GVV M>=R S>XD("><1\J."I6FZ%!>V4\[:X?3,[ WW.%+7/8Y6_6Y6#3;]$TWLG[< M6!Q)M7HGC_D.L#;@,<#W5QCM\QW>38.B$+ 8(GOP>L WY@MJ,P%4PQ\?F6,< M3PWV)?P5K"7/C90'^]GBS=\#=(Y[\1']==:TG1D%H+4AIK_%,&<>!( ;W9X" MN#"8YMHC7SFN(&3_*%@H)-I\2"-"!_R4L7YTL;C;X5AZ:R8?S ?L8>,<6$"F M;Z,]%PX<(E>Y1J 6_0%ZFVW:CR_(B)%/ \B>79P%*2(G"^Z_,)9#^>"H?K[,+G3J MZ7*A46WTXC\63X [DPOMH]-N:OQL ['0![,7I(*A[[-8&!F9DVE"HR#F?'N5 MW'"HJ87>%0&LW"K-$9$9MX'ZO+'JBU.7,)%A?4#OO"[F>2" ?G*\.&4P"]!) M^.C,8_NF.:!L\"-KB2-C1,%I1D,+C;M&1Z62$2*S>QB?_$3XS"-F)L+!B PT MATY!W\*/A5_?X(/!3"";*HLDH/VU1U.C JJ-!D=]"U\L*08RQD:U,\=&O6(N MXGH3I-J_SM7/L&F'X?RH]N[F1QU..79WQ^U>DKU=>+>6\K5I>4T#O9V/YEU1 M!IB6(+;6\.DXJ$1@ M=';805N\0N&C74+X6/4HR1 C*W\Q1\3X-]6(S3J:I.:L MOQHA-N1[#)]*POBJ,O>/%7UV?WWP;D&'__QO< MST^HRT#STD1U_N0U4K%BB4L*Q*R9B=1M%@3&5#K@%N)I/ZE[3*XL@H2.\IAU MG\';X$,!!3^7S+PXSPXV!P*/Y[H#D6*]UZH/C%Q -X*-05(2=W MKX-&'&;.V$M&D /_<8&G^];HDN]21@SI)#.&E$_@B'%?4L-IM^*AH]KN0D:MRR>8=N2>8"K=V-)_LQJR :8#\6=&T!#3=2J'I M1D33#0EINHDTW3Y9K J5@*9ED96E3K82KIXRBL>#3J-(*W[=@7P5Y+1I=+72 M:G6E"*ZJD7F'PBB=8H3V&Q@%A^&=R#$<99^2CTJ="CFT/=WD2#0YYUVG,0<0%9/)*KO V]G+PXPMQ M(TYXP:.RH<>P4:DW>S+F BFZ+9YNYZ=';.0EWQ;==GO%5.6KX+?D,I"5BI90 M DJ7CK,"/-*Z;F\H].[Q2/O6Z*NMYP@A-2D!1)%K,>3:R$_6;8=<.TT9R546 M>7=15;8<7&IV3 MO>$%643SP9BBAYN3O93-Y7%UY8-,>519"61:DAJWN4.L( /AH,6TXHR ,_(H MJ]H*9S0KK3U28&41VN6UI]%G3,<4*&VDF[ M3,4FCR+,0."(,\Y5P2$X>!I^PFX*M;8T,:WWBH;EH>$\RAUW1!/6E:3DHF 0_&.E19'K*!S-KKSL:B/+(B0TV<$\FV-/%F1VJO>=D,S,/F MBSS2+W?#%R"$Y)#.2XJ")1/9!V.TEC;[X["!*8^\S "8MN8SJ[>+24M[)28I MEB@%2^21GKEUECAI%M-BQV/\ MDSUF?[%Y)V3KD9BVZ[*!SO@E'6YE>$37'.<%B.59TSSH"'_WIT.K,= MS7DA(P/NYU!+ISBBV7NFU&*/8Y?B?;4ISG7&YVFN2SW^#-/0'@S3\ R*#74= M,C8LS=(-S80EPXW9@F:^,[-=*A8%M^1WT[0/YB)_&V2Y:L>21CH'FB32=! M64;8A'.\2\9ER-\?V1=W23A;[#(;^#R#)H2[5''W"G!4C^D1->S:ES,7A>NY!1%-D<@BOD; M*T,>AN5Y'Q<\*C$"N!/GW[=&%]'I;SC,M%%I-J3)<#Z,J,?^$.])+85X,T,3 MNR7>>J71D9)X99&/YDZ9KC&AG MV@LS^%S/UG]4'S0,C6-,FUHN^X(2"8)-?*D] MD9/]!$:X[3!KJ7!N.&#&:^TZQ' Y,J>31; AH_8'8ZR0WGO]CVZ-DP35"EHC/F'VV*_!WE M'U.D&I)J-S?DSYE4,?[34M$?%?TY.KU>K&]YQ]H4,H_9F+<@>:\\9(6#R:N3 M(9:"2>1OA],^CU*B;NHTE:2,F$<$<,&WFE!*0%VT6TZE"V3ARV3A] M+'37+!UKWAW6<<(;^R;1=)W5RBOCIG#8V&;X']-FG2>*A?4L,P30(22(2]NY M$.30%]2@Q*"BYS?3\S:S '9$SU)FM<@B.@\NEPZ,;@5&RLG!LR2_182UL M^5.+#+Q8,S)X9+>;THV%HXK^26' MP _G[(S7"CN,C9]T5/T?=>QYS*C*"!F*/(LAS_P20EY'GJO*^J3,6I)%KAV, MK7?C3:A30B%6^C$'F9B38]X(TL>FJOEEW83D$F8B M['LI@9H >0 ,D%^:3GX,T)!$%U3S'@L7PBF=U)40WC\,RH2@_+)YKNFFX^M: ME79;^6<5W>^2[O/+ -J<[IN5;G=_Z%X6D5MJNS4Y7#$G8$=^,O[MO M@XN3@A(.E:B3C#H[M3BY!'+[=3RR".,XTJ3,+1Q4E6] M+HF>KW+X#X#VWYQ(F"OM2S-B;3_D;WD-WT]\M,[H,%+X5S)W$Y@;&V^;=)Z[ M_RXM("U?#+ 9(FRSM'M' ( M4#$V\B;\P 7U!^_!'KW@;QKL_2GY&R$D>(5K?PK/T\4?4R7=/^;6^X]/T=K8 MTA+23 @S(3SR'@BN@D2[I]'MU\NAW='P4+B!*M3 MH +G$PEVMU;[]4C<('&'R;CJV,_A1_.?Z=0TR>V7Z^_?,I^2+K2#DYS;$WA) M\3!"+JO!@\EG.HWOZ$=B6!/8;MR31NOS!SJ-UO@!%AF^3.R7Q,^34.6Z[7\9 M5,_N!OW?J_W+X>#N(]',9^W%#9@.M0J+)O;J$YE09/F/I(&D(Q2I7VKLGS0= M2WQT]"'UE'Z[2#\EI,5\SFAX<_[5L'[$MI83TFOVC-%Y@MCBU!<0YL)W4AEA M_LQ?Q09A**-YPGAB.*'$ A5/GVC6(P7"(![\Y6FQ<0)B$_OLA6J.2Z@U GTP M@[#(!=7I]($ZI%D'S1BT!\(H#3,#LN@10)53Y+/F$@TPV-(=JKD4TPO^OAR@ M._63N<#AB*LLM3K\;VWM9;$">AZ]S]E&75G]*0XFV%2=Z2Y@-TN9R'[!9LH+ M-J(77$L8[>H%.XN3%RK$H>Z,PB]/U'PY)E<6LR5<%V=V(F5QJ?A"/!N^"6S\ M/\K^G&)]5,@SQ;UP#< 8\CRAZ&PFAD<,ETQMAQ+3^ '/@,N!@C*HS;(]3FSP M10_L]BDE,]OAV2P.TCY2W9(U$$P57NOF#S1XG]$Q08;S30_VR@O^'*;/I#T% MWFA$9\ANED?\FSZ\-%R%DA59!M]DY#NXLS-8CCURD;6? M)X8^@>MM8">/3N%5->>%C(PQ/)8"*;BP5'XI'?EP3G"S8_)G;*?QT:X^@4]- M6*5#P>)V-7-AZ3$W;05S@OX+APX?I2\3Z1XOFIF:9>&"70_>C#["Q;CFJ?:# MTP=L!"<7#-XSZF$2!JEE[)MPV'&:\; YV5+*82=G4?S #K:2+EG>#'://01O M2W_.C&C;K<6IL\'+I'76%MO/[L&0%D':]EV!J-X$I-[C)!L<6[5C1E/SJLR. M-*;MRZ,^@(*EF2\N'+?@/0KDR4"#[2P_JAW+(ORB!@0&C* #87,*&#OV-* * M3N X=U\KL&Z!/NU6[-( ^[5?EUE2[S"*F2* MML%D$MI[/YG3DUMWGA-;\6]4P_<'YT,2]S]_>#C=:OW[DF!%:M&Q8I&<6*2A M6.15+(+B3@9.4#0B-8TT9* 16>*[.\BO"M2T3O?7 F.]@\"0$;8OVEN4SR,C MFD>^']\?S]DX!Q$&EBF8E1VDJM=S\(%&1D["P G_+";4G5&+C@UO7=ORE=&M M2E.6'-!#">WN$96G>?I?ZP@OG,IY.XBF-.T@9)2\I< .YCY[]QYH,TA?[2T-4! MDW#K#9I\820LRW #.65D>77V.1EY??-U+L'#]PR6Y:-D8^' TMZ2;.2I .[- M^)IZ-T'NSU?;=?O6*,]QUE$C@*8T[4ZE(;9RTW5FI6"]LR6)N1O";AV=%E2W M('__G(,Q+N\]6_\!5#Q%#RLC/B4PBP>6D^V%CJYM*\HH%H[U^XGFT#/-I:/S M&"&L:;:K.Z4J**HMM"Z+91RT%& M[H9N.]*T&Y=1&AZ,]9C0O(+T1!6.+!Y)MIA[F*9M;YIS)67"E:+98FAVBYF$ M.=)L74J:E47R'8P=>.X[#G8!P*KG6)6Y2]X%"3I8I^Q0%S[7)^^52"SL7#R5N2;U; "=;?T+XU^FH#PX7?V327+PH:UI4P M/!SJS23>MR38[)1X)77DRR(=#\J4@*04:1<#"EO,:-F!Z2C#DI2H'B74Y8O\98(U0E M-0N'FCP2:I9 C2" 1+;"A3A\ST#@V Q?:M(DGDI#58=+P,T\,FMV3, M95$J MB_+H])YR==+[+D?&V M;+[&B20SYI3#M6B:S2,)9R&XSEU';TE.-T0)^Y%\5+R3@0XD-(W1FQ,K&&1_OTY&=HS M0\\:KG?2JO'9>N^$H&:9<.^)0Q\U9Q2,!,61>X] F2RER1J1*=5*I0TWZ!!0"[\.9&AYS3&Y@.V=@/^@ON!EL0JL.^(3A J+]-CI M #AH)D[]Q&&;MHX/'_&7\2UQDO\3TSA%MC:;%HA*F$",*0&97PX/&G84)YDBQS@^O >RRQ+B/"[AU,X_ 0L, M$$QL0DP\K8)ZOF/QL:A3G'H[,\5YLC^-4Q(Q^!7'Y$\DFS$LC_[4*>, P!PD M!_8,O)K?)^5IN!1V\Y!=-IT36HM(!J& :F.@=J(YR+T/.-46.2'.N8+[0AZ: M8SU@C5T=/TE209JPPF'G;*@Y_^K?XA/+WSX^\RL N?E-\V#'L(?@N[9LZ15+&[9[&1:M@M' M.*>8S.LE*T_T\\/INPRRK?,IM>]Q9E?LU)=H5&Q2Z&X7_W7PI?^5W-[=G \& M%U?77^[)W'BQ#"6K-!B)3:B)9R!6V?R_(%^RP&BJO7#X ?&N@>[J\-'H)O(5 M3M76*446<(FMZ[[#9GT+B6FC H6CO4%]TO4$5!RSD8H+TP7-VT M42V^&<<;S]U1$Q4P[#_G1JWI;K47I@>G0W!#0?!F$-R4'(+OAS?GOU?/^O># M"W)^\^UV<'W?'U[=7)/;K_WK T3C/@.15YD/%8[& &@3#8PV"\Q&M&_0^@'. MY?/?L;&MQIO! !QS^6?4!>3+1"Y?,3 T5X)M,$Y/\ MR[P/O(.[YAQ^?_]TFTT:I^BN^!5[(_U3^^%:' HO*HN5G<)BP>-OS_E M6CKNWAUE*OX*BB_S=8L+KHTO[CCKRFN;7S#&Q:(IP,]:AX>"E$X>\(I% M))]^3(;P]2F8"U-_2BR?41Y0J(O S6@5:&0*1R9H[$DS3 ;*:.:PY[(M,US7 M9VZ8-9<0/QTT[-]I[\ER=V*GWIN+E!M"1'6JC?I_\";7()KZ/PVW"J^#'[%3 M"6D'O_&-<57,X07XU(<->WC/=OF5)_;::7A+7H-[M)(&L&""-U _ORW].3,<6F&WATT: M4P-O![NEXU:9_.? 2Z)"T\Q/';. MQ@O$$!T^;-<#OW#]G4JL3F-G$KX:_,R\:&R]H"OCXC,9N+=G#!SLW*7M?$$" MVY2/ZY5Z_:32:RUFG>[>(0<+H#]UTQ\)M8H9"$0W-1=6>_OE[5_.1S<@5)M/FLO;A VPZP BR;V MZA.94 S:?20-C/N(1(A?:NR?M!P)\='1A]13^NTB_90PD)3/&8'*_M6P?L2V M5EB2>+IVK"#8$*#,C*^#1<")=P5LBV]YM@?(G-#Q@ZGJ7!S$8B.&!;JE![8\ MF<&-;-@#T,K^GH'HC5JZ2L91LOAB3K:8[!_ M!*2X(^P-;P)[&>R\^)'1W.(IN#GX9;:V>[?LS4 @QB*9]:,D4;02&UMUJ?YQ MY#L8!X%M/*XM>*E8A*2,H2FD#1ZG9C%EIH2Y_A0N@!MRMV4J9SY3$>($O\=S10?3Z&=>S70?9C75AQDY,1=Y M+H4,'EC. WX_%O$B3<3C&@3SX$VFCM1KH['<;U?>+=*@5DADR?:(U;SNO=$L9HSN>7 W:'@# ^>=)8[$^7&RN]NY2:=,V8#*]]O3Q[ \65>^B MO^[TT?LXZ3*=\BGG?XY+%"'$>=:*1'(B$4.1R$HDPO6"XBE!841JC!@R8$26 MJI0=U))&:EJC]:[ "A748;FN_TR=\"";#J5E5\N38K\@=3ZMV=FLD?,?9KD_ MO(VXD^4N-MR8NX6[6?[#VIC5?(!UXY*5[.> MS7]J:?W4MB".Q<%WG/YWT_N38M*Z8"*%LZ.:E'.@%#T40P]IK;ZV((\EIH>J M$L_%VM'%B>>N R\H97$Y5GKHN=B%$ #R3&UWQ,H%E>B6A56E=7C;@NB^$Z/O M@%==C'$@"[?257=@11(Q2:2U'-N"]):;).I2*K2R"/"#MJ^_4H>-;4/A;?:? M+,<":)NLP.1PY?;!=Y/+9'EIS>2VH 4(9 ''ZTS@2A:FIVNM5C&-'--B@,>B M'QPWZ:6U1MN"MB$_Z352"D!D)3U9])"=.!(.DN>H1G1C%I36B&X]Z5\@ S&T M2D$S4E1#1T5'C([2IDFN)\H+%<3-@J;7JAZ0JQ7/>'113;%1R6/ :3X5(>?F MR J H.'=J4D?E=F"*,#H"Y"D3YUI>#KN##;3JX1ZX_MAZ=Y2%4*NMZA J,R^ MN-1Q[R.J3A^!PYV=8K;P1*9P'^NMV/Y^XJ7QMH4EO"=GO+7'#:][.OV(/P0R MA$M@UBRK/.#__3VJV4H_+*P6G:PF3=:.\G+1)Q;CY%6C4:%]7'L:E]Z/BTR7 MZA;"+[!TLZ^HD0+KG&GB^JG7L_RXI-%R6%-$G[>P26XCPKIDO9:&5K]/G4\1 M@>KZR5E ';%SHAOB@/4C2_018+OO>+#19EZ;XW=&TL:^1D@##!+SRY?6J/>]V. MBS1G2GE-/^J"N]]5C^D-+QAW$\QM/.MX_,BL#C&]U+&F2AU5'9>JT=E)C8ZJ MXU(8475<+; K^^3-HG9?2>>BN5%]K8(N M*;A15W2.BR"U+C?"6$.EG-)=6(GG8R2(M2JZ%$$)Z.OD;R(MNRGJF]L[F[D@T1P;UX1L=48J[')%U' ^DS"#5X$1GCZPZLKW[BLXL. M(DDV20G))-F.V.J,Q-BZ2HQ5B;$JZ7'[28]\6B,OOP%-A@]ME"$+4H%&7M!$ MZ@F'C5!2^(MN5$QTBP$?&8 DBZ_P:-)IA90G;ACX 6CA<#P:^5_3"4WOC7 U MQU!.PL*3%1HI8R?U&9-G*\;.S1@97/ZL;G)L #CS:4P MOD6S/H'T*9L^$I1,3J[O^:A(&;661>8>;GPN_E^;K>$K+QE68K5PEK.R4W$' M[L2OGNO[Z_(86+16KTF3T2<-\(X8X\N5H>0D8?U-/.>Y2-E6N::R8(XRJW5* MRD9H4G)V)SSH?183:J15GZPA:#$N<<4BMA#)H,6\=FOS46T2D,: M*?I! D0=-G@SL;M5D2EEDZ-%8JN>FTZ/V08K0@V]1 MGBV0T^I(=F_Y7KK>@%I!Z(WYV=J6KZ&UJY*([#F!+B7'"Y7CRQ6)[,;5G !^ MQ^EW7T<6[\6Y5;'>+NO%$(CJQR^CK)\7_9U.,'#? <&KJ6K-:/Y+(\?+3J25CE/F,U6X:*2&['2D.^46B*W6M4FE( MP1:/:3Z]=#2Q .O5I;"^O^%IO5*N[0\5'&V/Q)7G@-]1/X!]P.YJ?"0XP]2& M$\&]\45YOS:3771R-CB>/KR:&$8P,#P9G_0/-)Q<4O?^C[+/HIFRB M-;Z!\ZVQGQP?ZUTF=W-6\C.:R+WB1&RCDC(1FSTS%;U-?;;*Y2^HGYRY#DU> MCUT.MP%;DXTHZT]&^A9L>N#"S3+L=KC<=P5 M\)1GJQ^:-OONU7A1%]&:Q _^S3>??6T..V.WA0/M#>F-0Y=OQ+Y.+UCV'[&F M.^2(/O!>;* $/'&=UNO&R5E*\/ =XI2:O2&;')_15_"[Z<&74&?F_00SOOJ_ MH4-)M;+$-^_I*!#*>/3U!8U+D^H[_P&L&TF'0<]RR,O0ZK'QX6_DA7KQ;/H/ MA]B$\MYR>IG=(TDG_!D"@P#2B?;WA9*A^8R#27L>-7$N.W"1:#X\\!V&)KAL MB7.[>;SP98B;BQL?V@$;_4X#0_1J,-C@8$ MJIX2FWU'!)\#!2($@2I>N6 X6(YI<[)DYV=-*2K VRWZS)Z&T>8(;C6P)HF= M//$=*Q/Q3$2TI@7E1!"\E=0Z>K8U&,3:BM!T<)"B6!;77[@:$3/DM!L2[(7] M!'P(3@;TG?-Y*MGT4K@*QQ_2!,[DF7@()50+\>GA&W-TJM0MBL=0#-A>)GXA MCE033\'N7#)]G_KX\\D'9U+4HR-4\";O9_;_"UP8?O!B!4-8;\\,>L-2.!(? MX-%HQ/2)0VD?M^&&:4]68.'!QIW@4S1*OMT3.\.8+CMWAH@7R^8/%/TZD[SK M!T/>TJE?%31"T^C:!N*TRZ0#9B*^ T=N.?R:>#PX]8Q3;"]%.HMC9V?.I/HC M"E?1+A[ T+?\7LB@^DAM]X7;3N0??V^!)? YL:,EMLG">"JSS_5%FLQ66D;3 MUYX=]FG4G!E4]ZB1\>W7RX>[S*ZJD?5>J;R+NCM/7&$X*'GN2_S1]&?8\IG< M?KW^\7UQ[]:Y[9NGU;N3,W$S0BY+T8TS&_,W>+OO:(T?89'QPR1>3/P]C,,( MMYVOW=*7NV[G7Z7.Y4/W[A,Q[1?SS8]\HN@I1\LYL5>?R9#R]M4&NB9$<.#O M%?9/6MQ ?'3R,?64?KU(/R7T=>1S1@\WY]\LY\_$UG(@K;)GC XGP)9$7P3, MF>](VU<^=)#'9^CKVVPU'VU7MK$'IB.__(+Y%?O:K_[:%6QX M\2'>H; MJD/]CH*AJD/];G-U)&LVKCK4*]#DV:&>%7X0G*;#7^-,'<*&ZL@ JB/*-)&C M6_V/2!<3;E#5M5[JT'=:PP%]^3C3UE)!NG^%H"]>.7#/D*7.WX#^[CT,34>$ MS&.%<[,4$:-A:/6J)*FE$N%4=;SG])'6N6 ]^MA&^LCR5+*U"7C-LEY,:LF> MI)@>33F):GT@"\]*:WVP7AI)<>)]LIQ\_5K/JI+NBCB2Q)'6-&%CXBA$MN]L M&K"A>AL=90W)E(#_-U,DE7POO.5"<[F9.'(+>(ZF305\6]<:34,6]J1J0 L5 M[:B,AH0K16FZ0T#ZH$(DF%%MT#13D^U<])V14*A9%_V>F%AR@MK%O M#"^MS<->Z 1YQ?];+:TF3S=(:7!ZQ"21U@UBCP3_+D+^+2D)1A8)?S1N Q7R MEX5GI54FSQ9MR"W1\PGYMYM:K2%EP%+11C&TD5;6NS%M''+$7V^4:U+FS,@B MX _7A%#S"?GKS9;6J$J3 M&YT<:&J!KI?KQ>CJ:E+%BGT: S.11]^-Y/1CC?NCP09^-^(T[ MUZ_2;G$\N&J9AOD\RQ#[+KZ8/OF?K/:_U75&R!7E'GS S9^EMNI*/="KFEZ= MK9UC/9NS=VJY.14'M%.-E'BHADC'SMG6,[7?6 =K00%1!VUL4NU/=ZDN+T6M M.V(*^\A[3A_/YO5NGIYV<^,L-1ZBIB5'1.#P%@>6>@O':['Q+4@0YT.+#DCW ME?9"/'!R,QA8/>!&[T_.NSHP$YZ (E$QBFSL/PJ@E_YQ4 M'Q([Q):P1)?R!3^9W[4\?=1,O'U%J_CYI!4UZQH@D]-!I[[E,T^Y@XUD 46 M;%8(N\1WR[&>PJ=5X)+SV*I]FU@3N-F'GY8U(NOAFZ\'>_C;G8DS,WF*,1$^ MWV4%]4<(H 4Z$YMNIO.?Z%,:$]>1+H%O.3TNS-I- :)FLK^:DQ;8/YJCW2^6IIP_UF:_R/"0' M4GGNL^5;;$ Y?MGRHRE>8K*>#]N EYJ:G96<_1-/[@,YB$P(3+'UF-Y#EKZU M8*08G&-@6D[:?"\-YPS:(?H5@;\]4R>D;.XJ1@?!JG0 '/ ([@O8#EXT(K5O MV2$^$B#*@=_Y>%U.*(1/8V$SQ_@<59,/21K ;0) A/5HHX<3AYV,YYP%8'N+ M:5P^;F>?HL)I.3@5Z8T]S\38,7CQ9 4!C<>Y?G%QH^%%/#"T3#K!2JXZ(SE\ M$9X,=OB)CVX1T[K&([Q>F&X;3>S*9 3IW7ZX+WUNQ9XDC"#V(PA&T''Z&0Q" MZ3E3T_[X$,"8*!&F?"I=1).,9WCN(YL=DZ17\R>0JA\(1[5-GW%V0>HHP(HDAEXA^5IB5OAPS38M>Z,A!]4KRS_QH@'_HWPR $=Q3QW*][Z9C MP73AQDYG&/OW)5KV! M%Z>6%I60Y[CWRPU3A:-.*7#(=,,DCBT>D2W<&UDS4H>6U^?I-*;C@.CP?)SF M)>Z2F,P-YV^FN5(82UTI?E6;X]K- RFK19X6(VAO[/1"@E&U.9[;G$]RB3#2 M 9VDG)&E2=UA&1\KXT*/=%U'*XD&/&,VX?K)A(F1TLQFC$4>M_QC?OH8^I9# M?9^=-K_YR]""1^;69$*L)F0I>G#1)@&NCX[:,KD8)T%FK'4 PC<88QIOLN]$IFR9OT)YH?S[T5SF,T MAFVQL,VLS'E2GCX)_Y. MJK][B]RHN@DWX@_U!(Q_D0U93YO5N$D82/&F5:>M91J<"W7]^EJ#ZZ0_2ZF= M7W.]J(LDR%J-5_;JK&23(,;)66NV\#HA0> =S"B8%1W!T'/#G\-U5.),J8.I M ./ 6)S#VO]OZ =,\%C.X[*AYS+KPB0],^@-2^$H>2T ))<>['(.Z#J/ M;]E>IOI:?3"DQVANWJESW.5PU(GW>%WOTVSA*SJ9,*-G?'Q8?Q6?,.#B)W4 MIC;+>3'[3R#>89M-%JZ)SE=X'D$X!;$1*, -THRG$V6>?UL2A6">8-_L^(14 M'PMST?UAV[9&),Z35F^:]H:Y/H^4.F.E+UND--)2)[:1VI>>*G'C\*">44/6 MD$,RG\RR9)XUPISX@ZCU3L2_LPP"R_.#5>T!80X,*;^\%>\N0N1E"&HBO/W& M%Q.G^+&L-9$V1BV/T*>1[;[%80H2^D<;I6M/I-E%F9"L;.WR9IQVG7/,KI$6 MMS98UD,[^>=AIKKL*(AG5+1:>QN)U(VTB*O$I[=?,;DZGMR*J='C8 M8Z+G@9K5PG&;H>F XVR-.1/.)L^W!$,@?0A%C?0?QLQ4*%7=082.R/ M'C/JA?RRF9X.OL5 2_'U!0?CXVRFYW(?].')9JC.2\Z<*/[HA9['XEP\?(;G MF!'K6B96)K=CLSDG]7Q[CLUB@"F7I[-V(N/)T[]VO ,_)B0]'.C)P" M&DC/-GW8B-NOEP]W)]%"DNWU$/34^TRB_FR5RKL3<8&)*PP')5 FXH^F/^M1 M4&9NOU[_^)YYE_16I5$ON&DOS,F9N!DAEZ7HQIF*0I-K"=$:/\(BXX=)O)CX M>Q@WFKWM?.V6OMQU._\J=2X?NG>?B&F_F&]^U'(3>ZDZ=&*O/I,AZZOWB1C8 M?$ZTC_U[A?V3UEE6?'3R,?64?KU(/R7L9I?/&3W,8*: M %L2?1$P9[Y3N.?M!O14U.WUW23(-],3Y&-=)/I3AK#&OOC6ZHORXTV1RL<, MN.GD^ U\;\WT]'=9#G._7&U5.,AV+MGOF7U/3#""O3=![G71?#(WOUHSS:^6 M$R+FE0U_F5\V?..(Y]7Q87>1+B]I)7(A'KQF>LV#K&#(/^->4C#(Z2N<4D3D M\Q9NO:W)H3@+6W,2(/0QW>?>TF15NB^>O@_&O=C:8JN(G(Y[.RPV+HO?527W M43L+6UMT%N8/,^E^ M)PBE#JHVQJ@Q-D"-2A#*Q;V0.C,Y_R-2"4+K&/WP5[J 739IJ#4]3F![1?>) M&NS[0WM!Q M;?>G!<@2+92VIV;/&6E;'^MN]7QUM[@U_\U@XKF3CWT8VG5=J[12NBVMIEQ/ M3\R4](#V3J?64T83[[U.W9[CPL2K?GN#-R/IE51J/(=S+[ MI$&_[5)_GHVBH:<.WG6?!%<8.P0SPU^2J,'M.1ZC[:G!RZ->:;]3VN]N4DK) M9&9IVEA<3"QD"83\JW]+9@>>3GQ]N?&L27:& +JCHQ ,8S@ C%8\P.^_V/#V M"8>NT:@8=4RXH+#G(\R4]$#Y$%O#!OJ*?$VF)V+6HQ@4'+_V1V8O>CTUGYCE M=++42\M!E.(,X5<<82DF!@=QMBBH$8$%AQ[E: ;NB'UO>N1QM<$V=\ZID9EC MFQI[/)TRN_ 43Q_/WF?P%>S\ %SD P[>3)STG'G-9ABX.U[\_4R"!&F0O:M__H = ( U8J%_YN*> M0"Q'#=:CZXR%/8OI)MO_"T$,LM/! =Y_TB :S\E'5IL_?WKT)ZKHB>N)F2)P MO7"$6E^V]=9(:2P"#$@O&94%4X^G.)+G@L7PU(FWL\.6H:]C_311 J1GM,(E M+7O9\S=J0O?YG;*>E1D_^J\39Y,"%R01].G$%$FEYB: M0STM[=/EP &*F!^"AL2:?X*RU+=\/"/+$?8XKH:I30@&-\0$ QZPC-8/2JF M,J^O2&7")=T]&(\JFITLGNX8F<0.-G*[HP'09)^G/W&W!ONI/\>Y4?)I#T'T M B+-I\ZT!>2X<_T:B68N\0(RSG.GTZ>+53*ZK \)I>QX;A>J&BVE:JRG:M0E M5S6ZWV^_W?S1[1*N/_/ .OL\=.\?R+GKC5QNR)*(7 BC%W([ MP>B32D/W_O9VK"F8F&_CC@(>+9JCEE@+AK8 Q[=9DBSGV7[XB!E@K-)CA/,( M03D0%V?R:NC:0(T "M[FRNVQU+&%7@0V(A4%P_A.('[PJAV>&_N=4N9*@+7? M)^[#&YKA8_/AB'W4;^!7%.@4!?0U0;+Q-2-X)J1MU_S-A M_4\A#]F-S#?/!;.^C[EDW,' _)5,:(8\GA&KLR7 LM^9E0G4^[FRIXMAUIX7[F; M 5"Z[/#. LT[=:63*;>,V=G&BM3D*BV MZR-XA4.!R<2(;.-A@K'(9,6@V?M8374A5*J3AB#L!SSN?.9]B^M8O[=<.>5Y MM04+KZ4OO%&J5G:V\$;9:*R\\+3V\-@):X<+U^ME/6VDI=-?L/8Y#B=CAVC1 MJ^64]A=:8LZB_<9IA1$'L&;38O(MH;8N)HOF?++8@*=D[HJ85\HV9_S%-3>I M66[,9O4N0F9K/DGMPT,;1KEJK/S0:N[3=Z8.\(T5"[@ M;6#-]O[HXYH)X$8F.>>M(H011RN8_B&^L5!YTW>FO&V631+M,(^&K%M>D9*D M-U&G!7_WDAG'4Y59$RG-<9F6GU&GM;E]8ZQIW^AS6C%/3T[98_O&:&IZ8U;* MY&W?Z'/:(N>TDT7;-^U9[7,[]HV>/HQII_:-#O;-RLJ8GJ9J&[NU;QKEULKZ ME)ZF.1N[-6]2E=\E5*(T_=?8L753*5>W;MWHZ0-)]L:Z:9?UE7%II.F[QOX8 M-_5RBE=MT3.G3V:91KZY@VAC&?CO?AL5OE9OZ6C;%=U4Q9-GR7=Z:V MR6#9S*)T"Y;-<:3P1#1S"QN$1^CT6672+=@*'DNN8J=)'3JP A]/#_1D(+GT MW)ZVRNU9+[>GL2^Y/5^ZU]W+JX1TCSK,61L)N.$ M:Q6='?'[/S^P]&!>S\*R6\;Z\] E+Z[W9]0OZ4?Y/BK1XS_A@70J9H;-9!9= M.5@_@0DI]^8SZS$WDU,D?C61A(QJ#7ZE\_3H85/CY"6C"_W#?!I])K>>"UR M(&='4WE\]9/HM\PT_S#1CRYJ-+?8&71/1X'P!DTF82=7AW>(E!#+9P(R]-$] M-. )M.21VNZ+QN0!,,.?K!^1F&>?>'KAMU)]OU-Z_K54W^]B^GZOQ\]G\2#8 M%V$OIG=@2:Y)_O%7Z :?I^[-WUQE =,,=/T,L4D=H,4RK\3A>I[@&<)D,)BDT*.:FM9Z>:-\"W@,GLX K M)34OX#%H3H\GSR*;9!>,+X(,B49X>)IS:(. @06^QC/!,[BI;[UR=OH$'PQ] M/HK >[9ZR%/]6!%/62QWJTPL'[;'?<$NS+,IY?#P3^:?E#R[-A 'MK287/-B M[EI=TM,UGQF(M6[*8"=X0O)#/\$$-N"T6;76DTR5;QH>S(#V64?0G\@'6)7Z MI.W$^*TOQ![8.&8Z=ICRD'4&2_K!MGX&2PBYFP'[,,]&O[ [U$SH#+_XJ2@> MB[E%VYDVJ$/2[=RNS@!\AGH(X/7TA#E=(?/9QY2@^B:<(6_UX %\J5HBLU5 M_#7R^(5)XV3^C"7$)+KO"^]VY,T>N',%+-#XHPLXY7ZCA>AJP3]6A*'O6X[W[]WKU^(%?7ES=WWSL/5S?7QQ3RJ.D3 M(8_,GH >I:(3!@^@8K$?)R-?..N9]\SV71;T\!AM,0*)OX;IYW_0LGJ5IMT2(PVP:^P"&EZ[1WW^!#ZL 7NCP7NX()_' M5V[%-Q9>V')$/3(94KZ-^'.LIG7!9C=_BD?AEV;6$M]PRG[]&/H@/N ^+ZYG M]X%P^!/[:/_BY]$ON7+0=Y^P_Q8P#NSCRG8&=L-AIAN^5R8=_%TT(D$<$[L8 MZ!>3NPXH"P<@.X!)8L'X,GZ>FA$WDV2.GA+Z'M[X^;&Y$3[< CU'0S?T*=_= MSD-W\E8\>H46#>*9!JP1)<_AQ T-L#M:I,WCBL5GR:)4UK0.F,N3B\).8YH^ MJ%JYR)ZIQDX%F[*9M@8*_P NU;.HT^/>LPB MGU\[G5N-4&PHR_)OIP?4"&"F,)R1!Z3B6>AT=";:"6+O/)^A.]E9<"JCR1_/ MZ'JD<#<:72(P7V/=&T];!&]\3C>,[?!/-0$$\;OWXFU@,ST188C'H' QR73 MXX%?$[/ YDD/:#[&OX+3.<^5P!1)N_N5-?)BN_>BIVD^D_BS2>41@ M#0[_ ;\?*T$<@B6/AP69[!=1I1(&L3Z11G4T#N:U457*#HNN$,[*UKG&*_Z5 MFOA<)_/4,&"RP%767\?T TVH=/E=-$+5I-:UM>OW7 2 \\^3QN(@=WZQ2($: M]@Y7R4O\>.!KHU?"TL&(]_/Q?44C^.^'#%5SD]5,L%LB^"U)VX!D$)=IHW\P M7T,7?0VBW";A5)C22_,_1R*H.+EM4X?+E6%%(OF1B*%(9"4204DG R4HC$B- M$4,&C,3<L,26-"@_*J-0T8E2QZW>]_F$[##12TQJM=SO%P\S9GUIG=[S3 M^*?3C];9UF&P?:X 3W0Z]I[AX^!CJ;NIDY+C;K)PN7J=,;AMM,[UP]VRK M6M%:E=D65!*P+44LQ1#+DKG$1THL>G.VM8P$Q"*+C#]H SXM/>@ I?O2(0/) M^-K2Z\YD?VDE -O6%02PY&5\=5VKM69K!G8!QK00S;&H#L=-B*2UI%N85DXO?7-^/;#7+">&V-W&Y\A=6D\R_ M!V8:];NO8,^!86IA4QBVXFO78>V 7-MFI;R\.GE=@ZZBZ2F#_B0(32NRDH"L MTN86RI>M*1]9M;5VRH ^":A*%EWAH.TBE=0I,4LKI%YCDSPU^;A;5:ND3!Z4 M@+LIFBJ&I@HIZC@TFFKIQ>1G[(G&<-#>!94B>O"):4D:R:FR<H&H:AM2JJ@X4BBY@LME)2LG=DH6OM9C&IGWLBO%66I[J^ MNK[*\CPLK?U\IJN]4M1WH9&\SU1)-BODBL\4- 2AE>RE4D)\. WXBR4R&?+T MV/@@ 62/F3HV*\(Z/.IH:?6&-!'[#W()[X,.+'86S)Y1HKQP9J4OE[N\:+3D MR /29V?:\>HHUV,3%A^:7:09NDD5H4 M6:1*BA7/(I;+JUVD0?-S[?)C79,M-)K2%+0HN54L*)=+3-T)**NR*5.R2*J# MMK]N$J-"#U!*'75^F+Y<0F>#-5 M&O\RM=Y?/H_7QI8V(7&%P!7R=G))(W&;B5LOE;F272:#K4SCH/PDA.Y[0]H/ M;7HS$+^XHR,,-2 2^+G#^7UY$Q\^P#J^V&[OSQ,.9J-1,>HMXX100,L(+AMX M(3WA3T%.V7:2'K5M<3;_/,'H';SV1V8O?FV;/J!G8#D/^/UXA+.P"2NW*NWFZSAK@8@S%P7M,>HDU1U;<<](&-[2J$Z)U0;!:%Z:?>$9.!',;9U MT*?Z&A1&]@@CA@P8.2+O4Z19-5KOBO5$G5IG5ZB)60.+*90F:K/^)Z(:)JN[ MJ9/:^MUD87D''?E6#9.+3HW)DR9TY M#B?V'N%83\&Q(26.=4VO25.#T2JV8-G%[(A4/VD@\DKZW^\9):FO+PS7;5VXD M">L-K553DE#A-\9O?6U)6!1^&U+V&Y1%!AZT91AW&SE P7?4=1%&8VTQ&F-B MZPJXT=*:^O[T:5:$<0B$T5Q;/N^(,$ JU[1*00-9]KF&J, 6J'O.$%0EP9@_ MM.8+SFUZ5*LUK67(43>HBFB.%/KM^:)QF]#7*UJE(!MT_2J7XL7=3@S30^K8 MK*ZOKI]+;<F??>MB8*'B[M0%+':??A7='^)6U.Q-)TY[R M.+P)>X3YY?HL[QGF<1BH2O$Z5F-")3Y+S&^6:]J\S>S1K8O;FCQ3#*2!X1$C M?KF.T'N-^&I#3>D\5IM6)51+R766ZQ2]G=S4K2OW>E-*[5YAO1BL+]<->A^Q MCLX;5<)[M):L2M26CQ?EDH]:7:XG=)ZIJ5MG5,;^Y*XJ&CH$&EJN^_->T5"U M6&@Y+DO\4?3G^&$ W+[]?K']\5=GF?,ZN@DI_8$'E+(T?89'QPR1>3/P]C%6BV\[7;NG+7;?SKU+G\J%[]XF8 M]HOYYD?$B':_0R?VZC,94CZMP4#H"$7G[Q7V3YH.)#XZ^9AZ2K]>I)\28C&? M,WJX.?]F.7\FMI8#:94]8SB? %L2?1$P9[Z32@C39[X2&9#H?]4FHXF'(05$ MV;;[ D1-^"R.D><^6WVXAS4>[D',1S<,B!MZY"=U?WKF:&CUB.E1TR?N@+C1 M+)DRN://U DIL7PX2Y_V"?PX@+O8;H]?*7#)"_QXR-[]Z;I]'Z]#_*$U&M%^ M>4R?LLY1F>;VXHEQND[W%8C6,>WST ?N2#W_R]O7>+LZN%ML?$GZA)1J,1-2 MZK61FI"R%XG;LDU(V=5;^H[J9.:OMWDX7+'70^RH_R??D04U'VN("KMFI! MQ=CA8MHL O[C/MM;G_#?X'1D7,3O5C",?#A7#KKD0 7!=C#P;__!?%VW<**N M&89JJZN0GH[T50LI9$9Z6ZNT50/>HK,ZBI*CEZY'83TZ/Y9*.]\1JZJ=G#5;6J6@8FJ5VGFLA+1J18?TA 0RO]'4FM5BM-M]3N]4 M_7U5VMK&:6NUY>HM9&$5NE'5JA4Y>(7*]#Q2DEFNO$(:DM$;6LLHI@W!825] M;I;M])<&KIA*\5/:*2O#:?F:"RNL0O'HR>>L6>.'2IG-M MGM,UM^#ZFJ[=_D>K%^2Q/EKG]/[ N%Y99OZJ'#!NU%4S6Y68=7!"\)CS2>KZ M6E)TZ222+?"A1DN.6);*N3H6&C'6$M%%TDA-=2LJNEM.?*35:K4D9)#;=T1ZEL0BD .DF09[UT:%)G,ADI; 79 8YW. M^%?_EFQCMGGRU&^AZ074L]\N+<=T>I9I7XU[C*4G3=53DZ9$SA1'=YPNE94^ M-84+UHDN.WUICB(3N*-)M4)THF;"0_GP^&7G4!\@"Q+W M!Q@P&*+D"29 M763BB[\B8B.#B-HF6OK!7X2:O2$V\,->?!E@8AT;>:=(<56?4.R?E?6CB;9: M!)E"F;!K7#FLD: [LAQ8AP8WM_S$:I-K')H^>:34P6<>F=ZXG: /? 4;#,(O MX2OXSL2SCY_8CRP[GP6V+9:1"YMHVC8Q^_\-_8!_^!Y_;_D![K/KP#)@5_CQ M$(_V0L_##Q(_^$ BS'YG.6[0UK$UBQGX[KCBB:&$6V\R^A8T7GRE>/+I/M)Q!"+OP M1DTX#"^^W2#$P?1BJ66R%.CWD;:P#5S)!?9>8CLP!F#/?0*L63Z> 9X(8#7] M@++ _V2^<;0O>C9*,48$/C7AU_@"E*=G*WB+6(!/GRS4:/ZD09G\ M-N8?=M@+0O'0P'#HZX@Z/N6-.SUJ,Y+K6T G@13\57QWL^NS;H#>S/ MI;8-]+W))PBL)T:;\0G BW@A0-9 HK"*8.BYX<\A-BO%'^')EGF3O]PSP>][ M0]H/;7HSR%9K4A+"OU2[1K/:;90:K2]ZJ58__U+JG-=:I?.&4:\87_3&^;D^ MI?>P%5I.2/L=T),O*_4OM5XGFTN;8S$N9U&LJ9W*EG,G?(FV(=Q/=_SRY MK6=W3:8_3=YFFYA;<.NMWD;E_ZO<[F+Y5/5C5?^H2@ 43+)ATOA8K2B8*)@L M@$E;P43!9#%,=$-)'863Q3AY< /3E@$DLN2P[+#RK%8ILO),M,\XQ'34%9+9 MVY+ELB_L)52I2M08I:IK;;TM8T:[PG+Q6$YK\@, KHVQW"A5*])@V=#J!6LO$./0=;FYWH+3O0=7E" M7:O4I60)"I:%P'+.T*65S.8-85GCL*P64_JD8"DC+-,F)*UJ >? +6M:K=94 ML%2P%+!,'XNSFC&; RP-@*5RA"M81K!,&S*SJEVZ.2SK#:W=E-*G+8NY>= = MA[JFAT4M6,8%H,&JJ)[[1$E@OD;5&\H(+9I1Y!'PO6+G^@VX1>3#LIP0#OXF M+I?ZP@# O_=@OE*_^QIXINOU+:.N4*Y0+E">1Y!8/I0;6A/S2!7*%01A8X92)>?ZA?JT V\ MADT58%'XC/"91S@Z;WRJ= F%SPB?><2E\\5GK:8,"87/")]Y!*CSQ:>NJ]( MA<\(GWE$JG/&I]:L2,E!9;%1#SIH?4T#0D7@6EFG17.'/,+3<*)C3]C:08B6 MKJQ2A.AUCII6[?4N\>#G39@ MHCJ]Z/,O>-ZQ(5-9VI"YNKX\.:N4#2F#9PJTQ8-VG5RN78%6>844:%-!NTZ" MUXY JWH?*]"F@W:=K*]=@59*/Z<";?&@72<5;$>@;4D)6EELY(,N6OJ=3<"F M?6+"]IH_Z82-[!,W#/S =+!!Z\$;S'L6W%LY>2R5DT3GW^''?QWB7/.; ?NN M?S,^_8TXC%[1FD! 34-I= J_$7Y73C(K$+^Z9M1T36^I9#2%WPB_*R>C%8K? M5JNA52K*#:3P&^%WY:2U0O';;AA:HZGT!X5?@=_VRLEMA>*WUM"U:EM*_,IB M9ZM8-.E;=@A@/$#C>H\]=^UM1J,O^(FKT)Z";=ZPW68\>G/8J@:V"K:IL-UF M1'ICV*J8M()M.FRW&9/>'+92!O@4;(N'[3:CTAO#5DY_CRSVLHI+3\:E#]=X MWC//W%8CTX*IS#CH-O#-55HMK=%0!HE"<(3@K<:FMX#@1KNAU1M22DN%X$(0 MO-7H=.X(-C0#_E=53:@4@F,$;S4^O04$ZX:A5>2,\"D$%X#@5F6K$>HM:!'- M9EMKR^DJXC;WQ^#1[;_A*_/1IF?D;X20:+6P+W#IGG@SU6C]96IIOWP>+X.M M8L(P%7:I,$LGES3:[6W@"1%(EA.:,G;+_(H^OUJ<>0T:.V/3+[")CXM3\R>_%KV_0!&0/+ M><"?GD3/*8Z)4=8G4G\W=7#5!IYE1([U=RD'O2YB&&%;3I\Z#""OS.'!X1!X MB?7^2DU!!KOQSAQ&LYZ>B\?O_/-$K\4[EV2E/8JC<;9)[P*=)7X^\+71*_%= MV^HS9U=%(_COAYUZI-(V8-)+=?IX]EMH>O")3[J S?[IQ\>S5 ?4WB(C]^O# MGD6W>)P1+=O$W();;_4VL<]8,:J<&)6A^-1*?*KZL:I_-(RM,R@BU(KD!BF8 M[ U,&A^K%043!9,%,&DKF"B8+(:);BBIHW"R&"=_29.N$A3DK=WZRP5B6MXL$8>ZZ-90;3B).-AC/C?7ZW@N%YZ ,% M4>_*Z=DA4F/']RG\VW\P7]<=QU#3*BTU=4UA.17+:640QCB7PUAFF,T.L=S6 MZDV%987E5"RGU488XZP.8YD!.+O#2L M7M5JM8J,L)3%W#SHUG=16PCR2 $TE%ALG# )S%="7T?4\0\Q^KMGC"*/@.]X M3'3DP[*<$ [^9D0]5K?B?V$ X-][,%^IWWT-/-/U^I9C>F]7 7WRKUT'%^*Y MM@T_O<)\$>JO*P\;:AJZPGB,\3P"P9)A'(2KH=6;4LI6A?)"4)Y'B%@RE&/X M3:M456FU0GF$\CR"QS*BO*7,=X7R&.5YA)7E0[E>T?2:E(JY+.Z @XX^7RGS M7SI&DT<,.F8@77ZJ7ZA#UW=E-U5T1<$S@F<>L>A\X5FKJW:1"I\1/O,(2N>+ MS[HNI8*E\%D(/O.(3N>+ST95M7I4^!3X-/((4^>+3UUKM*24\+*8J <=L4X. M:U/&:='<(8_8-)SHV!&VKD[55#)+H3)"91[1Y#Q0:6BZWE"X5+@4N,PC_IL/ M+NMJQI_"98S+/"*V>>"RJADUA4N%RPB7><18\\!E"T>$RXA+62S.G01%][VY MLKJ^NKZZOKJ^NKZZ_KY?7Q;%XVATZZ5V[ JUR92K0IH)V MG9RO'8&VJCBM FT::*OK)(+M"+1-*_ &\WX%]ZHKIXZM,H%Y9O3R1AQ&KV@-O:D9JF&ZPF^,WY63S(K%;[VJ&0U5 MN*?P&^%WY62T8O';KFNMADKR5?B-\+MRTEJA^&T:=:W1,!1^%7X%?E=.;BN6 M_S:K6D67DO_*8F>K6#3I6W8(8#Q XWJ?/7?;C$9?\!-7\6@%V[QAN\UX],:P M51%I!=MTV&XS(KTY;-48(07;5-AN,R:],6Q55%K!-A6VM6U&I3>&K9R-\F2Q MEU5<>C(N?;C&\WYYYFI;C4P+IC+CH-O -]>J&5J]K7S+"L$1@K<:F]X&@O6: MUFQ+F<6E$%P(@K<:G=X&@ALUK2[G(#6%X$(0O-7X]!80W#9:FJ'"@\&/;@JL;?JPL;=?KW]\/XD6 MDH1FC^*?B&F_F&_^9_+H>GWJH:GN MT*DU#QDZ/Q%C]/J9"._$WROLGS3'A?CHY&/J;OUZ<9>Z6XB*B?O&S\Z/8^:Q M&"@FSB5Y4.)'_/^B YWZ040$0&ZPA3W^'E[_;_%=_Y:\Y>G$UV?IOCJF^VI$ M]Y-T?A\^^O2O$(#1?8;_^ _P^R^VV_OSA',5HU$QZJW6":% X"/<(2^D)^+I M&$&(8IH6%A'GZ>/8^@P#T-B. #ZUF6'@[GCQ M]S^^W'=_^]&]?B#=?\-_[PDN-;'(#!:XLHMN':=<_#]QLM.<,'T1TUPKAQN? M HZ="38!HLSE Y\^@3 %$K M9%0G9YWSWWYR'?3ZPV);F@$&%2-,%IYH81)*=J';P8N,>'7P([(*(3OFCXEYD^/TB?X M#L%/>W^%E@=OVC9Q!R08T@DG+; L*S#MV'\[(!T;'I<=&KDOC\J=LD;>HRO7 MJ'P>?\3>T#]_T.#N-C79I7[:[B-<:>2YSQ:<-5X+;A/0DCLHP6U+I@<+HGY MX-;DB9I^Z/%5^BZH3#@5#!4CMD*D\R1LQ-JTU[@N8[5\W&W_Z2!7TX^R8N)%T<,XJ9E;;G>;NM<)N.M+!\D MJ=G_*X3%BQTGWRW;=#1R!=OV-G$34-I< B> )_*$^^V#PB>63+UGJP?/ <+$ MZENF]X;E6OQZ]^'_#=V0G%O!FT;.AY9C3B[=@BL]4C; RB0CW$7863?T2#=^ M:/* ^^KR\6IP%#[]B3M;)@^XF3\!#S_A(,8(&7FX&-P4H+O]G2K@^ MO(TH^^+4^_S;"8T<%CHMIZ-[GKM/C["'>)-S@ ="D;UX\$S''U /3E%?IU]B M\^3,J&B@),WHX1@#@1W%XX2367%'TUR:DNSHK?GVQ#0>M\.92+0(ZG_UUNPZ MV0 *:Z7O(I!"S_2'6O9^I3G0BMBO5)LPY:Y=^"MXB\87^E>^']+^C8?_CYK" M9&(S_W1M4['5U&K5V7A)@KDCVX@B=DQH(',"J8T:*7X7^/>*^$US!TF"WQ4X MP@U('6\MMH!-^FLI>R[0S$0:F%$@D.!7-D@TE")F ,:5ZR.KAN^!?0.K9+P# M)7>?A"/8Y6 (9S9T[3Y(LAN'B<7H-WTX&PW> >D$6V)B.);I 8&+HGR*R\^P MI/_)/,\TYT@1YYG2\G;;'!X[B!M:M3[K:2D?JWIZY2 :'-H3JD@PY/K9^-0U M OKHT'R>44I!+9S01=_C#X4B^8U]UHD^B[3)\0WPR%"%?'&X(CF&%==IIB[ ME23;!"4(Z2U#O?.M5Z[=O5'3\U%!]9C&Y*ZNAR/K%,H95UA-9H #A7G4H2^P M$Y$ZZP.,L;C Q9M+H"OG1!+J^N.]?G5YUO)/[5O7*9+1;51I.+:HW+:E"%41:[7+FP[)CL M@=;OZ,CU J;'P">HG9-+6$6FDXB';4J_?>PP;@!TU&>VU6_<400\@5\5]8JE M+Q;K"W_%5Q%* V6.JZRGOJ>C@-$^J5;8DU?%DZ/CBSU5K%O==\\7J3O7[C._ M6)M?J\ROA9K7*EOS$M\<-@G-7\9\89M"QPS!X(0/T(/GVE:?,=8!:$(.NO:X MXY!QIWA3,NZ)IA(=.^TRO@G\7GP13.!@Z*^ULV41J(KW1#P:$Q(>':!;#I^9 M?0(&GV\RURO^[83XGAV)$:XZ@6_Z =,&1F^^4)MM=T> M^PE#2L@=EWBUU$N@>D-?1^)17:8$CT:VQ5\-PB#TT )U^V$/J #C7_%1@DB- M%\W4>7@C0-N-2Q&Q/'2@#D)_V[E'JP'\#= !^ >C#R2^>^?R=>E(;!DUVB-H--:6C]'-H\H0!0Z@8< MI'Z(.C%>@SWK&$$]%U07IFJPFY$?Y?LR^=KIW/+'PB_[(;!!=.UXL L_V5W$ M0_,=-_O_A;UX&N.!/IMV&%DBP*M-_B/T4)@]$&9]H$W*P8$LY#XP!V"8P2>A MPTRH+W!8%/XB#^[(ZF7RB.\:?[Z3[^+D+%3!65Q@?-\^Y<:1("4Z&% \':&M M)6F.PR]"01E(E@(+"S)Y1I6O0,!B%89D.2PT/:#VUZ,_@W8_%H93I]T%5M:_ &O$,PI)+.SW))97RI^&[1$)7XHP%B8R3,6*"UQM19H;E/( I!>;2W>W-78?G M$CS"!QZ@"1,WSG_M7OSXUB575Z14(O_N?/O!OD0ZUQ?DMQ^=;U>7?UQ=?R6= M\_.;'\RJBG[\GG%+-_1!(/D?%G"XK:2NK7?4S, ?G[!MNR\HLGTX:U ZJ/=, M_0=DVJF'VZZD'NX:*4R"QD!VLKNEYS1E\[X5,A:SDZ/&:_F59RG$J]EV=>!A M#(L#/HV^AG^>&(LEV5;2307P2OQXX&NC5\+T,U9K"089_OMAIP61"U03SIR^ MF#93E\V \Y0O%#Y';R-_"7K5+3/MIY+)\C]2(D@UN8,*1WN#HRZ8V(Y/A6"Z M \,/&-?;A_?Z!X44>^XJ.*CV9AY=+U*'R#ZVWGH>=1 MI_?&7[$T-9O!B+_1&7OB%:P4K%8Q*[LLM8O_+8]!N>M.3(?A:U'75]=7UU?7 M5]=7UU?75]>7ZOJR--?<@ M;EW-WSZ\3L<='QYG>MFHVZA#V9O;J$.1\#;J4"2\C3H4"6^C#F7#V\BB'!]T MY_DXGY&50O3=\#$8A#8K30A9Y.3@VLOO\_R*1DK1JVBL^9\%*:I1:6O\Z:7K MG7NT;P7?7-]?IE%$]@U$#&7-LM=:NR%C(TZ%^>(QGS;8;39;NVCXGP_AL6C_ MP3UW_0#>%QF&\\AA8+W2?NG_J.=.4T))T<'1TL'[3$)(&Q4G'R&,LR+7% 6Z M-(,=/BCPRR($TN;-R8?]Z/]O!N.>?E'RHI($BAARD@3UM#%V\E%#(@%O/5' M6@G!7ZRL7 Y24")!%I$PW337D@CY&]K"S9HL<#_26'6!@R!97Y$ FQTR*!V@ M_VV_QMI,=Y)>Q^46'6KT0=$,IM&41I[*@KHC!GA:Z^_UE$!K\;ZPG:2F'5+!C;J^NKZZOKJ^ MNKZZOKJ^NKXJV)4P")I=I&NH(MWCO(TZ% EOHPY%PMNH0Y'P-NI0)+R-.A15 MI"N_0JR*=/%I!U_K*I.QUNS55 MLWYIG;K%/@:/;O\-7YF/-CTC?R.$1*N]#I_@TCWQ M9JI?Z9>II?WR>;P,MHH)WY%P'0G/T>221N(V;!UBCO(_3S"23&U;S :.7_LC MLQ>]GMK!2B5"M.7TJ<,>_95YV_B#SO<#!NYHTBL77;*5Z5F;V8*I@YD^EX4[ M\OZ4/B7O](E8SA NA9_IIQ_I$[*H^=XU,PS<72[WB]D'P#\&Q*,]%_;4@JM; M#@F&E/"S-!_A;=)W2<9S.6[ G@S>ZMEAGY+_F<\E&M7FDBV[+BT'Z!: V"V6N([(-QQ_?AX\^_2N$B]AO M=_SI:9^SFZ(]^?DZ'_3V;!<"8CK]!<>4UEPJ17]1QY3',=701U29/2;,F$5B M?*.FYQ/*2LHR*'%V)B1AE(FGG?$S/$Z-D[!'_1&%FS]3^TV#6YO(&FPS '[@ M(I,0I^(34YP8LHOL2W.VQZ_U J='GF%7X8?P,AN!:1U!].)AEPV9V4M=FI:' M0*(7EM^S73_TQA"IK$3)*0"!363,&J0 <0?\5'R+[>5C*/;;3SQ+Q.AIOYR0 M0QGJQ%8U!S*I0*3I+KM174[[UC/I(5C^>?*M<_]0NNU\[9:^W'4[_SH1&Y'X MQNW7RX<[\?[$!\-!R7-?HD^F/T+EA]Q^O?[Q/59\DMI[#PZ(>O-">)$*,/7@ M\"3\7N2R5#7$;3_"?:/5C?\>_QG_=?J1G3@<_3!XLL_^'U!+ P04 " !C MB'M8%(Y)2G8E 9)@ &@ &EN='0R,#(S,3(S,5\Q,&MI;6??+O_[LU>[&[UJ?->=/5[SM-=U=5UZFGA:1WP4DE.40Z A(0$^/P\ $_+ M !D !AH:.AHJ!CHZ.B8F!A8.(2X.-C8.V:O7^(14Y$!J*G)*2AIZ3B8:6G8Z M2DIF(19V;AY^?GX@DXB$,*\X)Q\_[[^?(&%B8N)@XY#BXI+ROJ%\P_O_+$^_ M 08@%5 )S(2+> % 1(R =)3+P ( ""A(OU' /]3D%X@HZ"BH6-@8F$_&]2_ M!+Q 0D9^@8*,BHJ"\CSK]SP/0"% ??6&YQW::W43=%IG0MZO\3D8=-+5740: MDV?T?%]< C&QB$E(R<@9&)F865CY!02%A$5$9=[+RLDK*"II:FGKZ.I]TCPM+*V<75S]_#T\@8'!8>$AH5_BTA(3$I.24W[GOXS-R^_H+"HN*2FMJZ^ MH;&IN:6[I[>O?V!P:'AJ>F9V;GYA<6EC.9Z@8*"C(+^CPOIA><_ P(4U#<\:*_>J:.;.+^FY?V*02@= MGU/=A4G'IW%&],5E$HN8GG^# ?X/[3]D_W=@@?]?9/\+[']S+0%PD)&>#P^9 M " %N+IE_AF I:0O,Q4@,J;9K^^16#Q4J&@/<7:EM*4K+Z].MYV-ZO#^,>OL=0OWS]'X,->MB/9S8%J MEEQ!U_'U!Q6:AC%?^'MUG,]-K_Q!PN*(W&34Q:S!X9#J2U MWSD:UC'K"79;:3Z::ZOPYJ+0;K[SICU])/ =Y;LWW(,7\1\S3O5#4 V[S5\= M*@RY]6OXSK+\_CN=/>,2LGBPY%!I7DI_:LZ<;)*4:9 M06UF\,("AE4+; =.B*>.[ZF*KP.GQ$R<=^5%L$PU"!__' ,]Z?>0YPHGR]EI M)GW5-['#.9F:&UN:OHE_5ZK)Z?>X?9W=E)O$"6Y+["/D53IGCN%6;O "N)?< M.A1:EUC#C9<4R&'J22X\\9FZ"=;J!D:VGH)**9&VKKEB%#XB6;/A.YX\=Q.' MLNI1BT^ ;K8?\CC5 Y__=E[F*IB=]_6C33+"W@Z8]%'FC/I4Z)(-#I0+C<8* MPYIOYZ,'?W+A+- O1:5*4MEKW9QB*93$FY[L='SY?JIL6_#I,-6?-4C&&X1A MOY'>EU;=PS3*K2I\B%Z=FR02:[;26AT/5;DXW!!_[?1(/^?8ILK*RY1,E=4B M9)_+"[S;G_=4+"7,ZHY@SD-2L+;&5P+H__/:9Z6SHO74M9K,\C\B0HGMSQPL MPZ!YZ45S5:C^%O>]PF]:9FUD)*W/6*8&W>?LL:_X*E>__(B_$.!X<_"6(.V- M)>=DSA?!!"VS6-5\ZO=2C+2JJP\32;Z=JDK^UE8O! +I+=RCB3).N=4P;R<9 MVE[SUE7+_6G'9J;W=W_#GX3:WT:@0*A(+JP91_:NC[;K%1NK7$29RR]F,LF+ MQ^?EA'6-X<4Q&'$5TLEO>;+K_%)6Y"9O".Q,$UK1\#?/+*Q$\8GU,X1K9W'V,<_E57;;*1=1 M20]7[<^+:J\,7<<#4S3/[]R67-VFGQOIZL\@1A*=BV%C;MM[5]'GL3_VV3 W MZ:CJ)3(YE?4KZB5FK[/_EMZ;G/5G?N*@MI?3?@) W;LA:W)-[3);,94L)H4' M*0TCB_E?CA]0O2VLV;+F,Q8NB[87]#BT'U3Z]S:A49R*XZ4[R$NDR;;&&T^ M2'&9$J^K#PT=N]V]R< CM1VKK74J=1C@%7P]F[%2-^& ME0RN$&E^3BT E;L^C&B+@VSS2XW-A6:2Q,[UPT#YI%J7 M,^X,"_^KO&KA85%!&7Q339V].$)U60!A6/X_1\:6)51[H68U6,$U !.K/PL) M';P<*U;!C\?S AX+-?[-6U+Z,Y7,,IL>3+3,Y=7:WV(9;.<[TOC7(1/(N(@_ M_OC8 ^OPALM'(B#$(.^6X.VWA3P&;QY6(&&N)[9<&C,5")\;Q\H]ZPIS$4O3 M6_QWQ[IN$IRP1[;EC&+@<+W>>7R5COT)B8@$8.*\@F4V6=X*^BEDY.!SSC&K M+1UM0FNY\L9*0SQ=CX=VA*2&^9"ET5B,L'$R^.^8X-;&G]C2\OKH ^[!RNKM M\(1\Z6U!X0%Q\EASS@']4>Z'<3K^Y)4#&'I]&UP"EL'0>X1"7#U(233RX1"K M4+)0N(+5*R]P4\%<3I'.):I,1 ,/@S]3?P660DOTG%8*-^6-PGKP;YB75.\F MG@ _R+>.*J]-G@ ,%(I/ .\GP 6R"K0_"KYV,BM!ZJOV!$B(+GT"M$%O 172 M+4^ ;T^ -(J_1-D#BAR]O[)H]" 2ULM)()Z2.2.*GT^VH4=K2 M?:S&MJ4.7O%;:? ^ 7@3@,+BJ#0O5$2G+EW^6,%GI-*V65R-MM?PI\1$I(TL MK$QBK'>=^L,S;62N!=:>0@F@]\>84BU:4MQX)"*W55M'RHL* M=#$Y3+;?-K@H#Q\)FH#FB>,UIM\YZ*7>7 %7I91N*7JHV:=]=0NQRR6-,R'E M7Z^]8G. TGP+EUD5C[8M M\L7F2K;:;:RV1+0[647OM*[\\$PAJXM3>JWT%'5275@^+VH>OY;K<-S[J>$- M.EGV43! -!W0#0^+*/=ERAF!.,DHK=&_W/L.K+H%SX_J%Y1ZEAUJ'I*P ML*NE#OJ-_Y;-<2";/;$OFS9A1R^2U)6J!,QUU5'0#%XO5Q];M/-+T0[0 _N> M7T/7B2SZ-W=A![AYIRCCTNAR-.>RNJ=CGWP,6I%Q>R^GNEN37#[K>QP??:)H3AM] EY(E+&?*5JK^\0D\ 8C21^\.6_4<>P7GR(",C M>7J"Z.%Y>L6=!.^C7Z@^T^;7WRM6%"D3.8*\/S8CO\L$@MJ]C[0G8NM3?$+' M*D^W"(8[=%'?T>-UE$.'Z]O$)UBY^_3'>3 O.E\?Z*2*]HWU7I85\%OR/9Y_ MN.C'%QZ8T17BKU'E&V&K'=QC_^.B=YN^-B?^L?10%))<)(_1V+;,&MB1%#(D-P6!01X \W2PEM-0X+EZ'?0* M^NS&_ ?W5GJG5S;948F;[[FY%-IV."I=A#2^3 MO]%F1?D$V3G'=\JMJS>Q+=)*C&3.1^B>';"0'PQ_LD>RP.IEU48&DN4 MK'(E,MPT%7)>?]Z)$#%?AQ39F=_1 _D&5_B0ZH?H"=90$/DGGASL2CK;[S%- M-G-M+[\[<)EH<:KKRW$:B4;AR<-.!P2 ETS?&&N2*Z)G!+>;S)+34CX+Q=>9 M_>V:^##[=6ND?-1\NMQ\M8W(PH[H<\Y7Q%W0W])7OG(=UE-FT\>F7J&T779, M@R2%_H#2$)PZN:@22NE%2CO7O%0ZX7F\UT4[7)+51-GKH@K_Q]:RORX]-0A)<[&R;6 M"-E-JA1[Y*IJ=661N- FA=1KJRH;#_MS!>X#F""5U@/;]M*Q)/EU5QO7)D.$ M-T\!C#O&"4P'P7ZDPJ^WERMDJUWX^]?N13F^+?XW?Z:IB[!\ 0,/C"X4)WFP MI\VQI+B8;NJ]&5S,>HD>S-"6X1R;HE^RZOR^TO[I24F\!P1LEU-AK=$P%&=P;8^!2F4GN]BMR M)ZVXE2*Q6EN./WPM2Q\?*=!HY3^,38Q!XLR^($Q'ARRNBRPK($05 U[PTKF. ME6^&$W^U=,[[)K/BK2[/-X+"TK486/BP-73"V@;C^1U5=4.,:AKQ=J1ET5\] M;!P@X6]^7QKPLW*I-LM\9N[X80\B%-DF?EE."'8;P%I/_8:9].I:6OY="F[\ M@9X_\]P?]Y Z8C72]%>+HS:=+-H Y_FXM2S7)*V6Z%)RS2Z-0@8&2)OFW/\( M@8O8_X2 0/S&&JY--M.,Y%#! 2OVI/_F91=@Z]FMO\4B! M T-%=YJ;V#MF,:P6-<]='[I4OO[I$!%UF,;40+2OZG.NB/WO7*& M%/:6J $I3E>YMU4PN3X(U1"];?_46 (%Z$:^J0Q9IN*^QH.MEC8 MJG?A)M/03N(UQ?G66>7;8V.>>X'Y\: M6WG/%[ _#^D./D*K4E_[_ 0ECSTG MH?RJ86/?;!Y8(/XS6B41!+D6R7N4%FIMHU.]8&YMZ^- MVF7F.$='6*FA+[!QYHT0-3F?S9=&SP_&J+,V(<+ M;EM.&T<_?-7%K6)?7DT0F-*@E"[)23M,VR20A6TN==,Q!+%#X)7;0W B3I;S MG*QC+0HAW21G=[UM^]0T@IJ-M)@&PD^ @ ;\(_F:SNZ>.VFUJ78AH,3DMMN7 M=FSM:[%-6R+>3Y%^TIP_NN_T8G,JI(WQCUZN,42U&&T:*2QK, ;OQ#;:C*LE M>1AWSYXM@3X<+#_;8I2Y'X"F'E0[[9*H=PS M-$RK"ZB^PMAM5F^W=TW;? +XW U<5"0:P)VT!5MT ,C6&93XYD0:V[G4X,IM M;Z_,8?>\ Q/=4HXA]Y_7?!\_BGULB/XD/X+CYWK8WS0FH]XR M5%W0MO)(1F[Y<5P\R"V25MWDN Y#3UF> %CKUH.G%*6Y1.XB.'@8A:']*I&U MLVA,Z.2P"[=4UR1X8\]'^>[1JY2,4_XR.#-0'#0N5>ZT6B.J.W7+%*GA1IQ> ML5*UQ$"WXVA1(3\ Q*1K_B0@A5.DB#_!D.)4?I(=MIP/GMPNIP8;.YG4LDRF M5O<=+&:SR2JRF, MB.F>$?;BK$*S)QU_V8$DO[?T*_0J@^FJ@4*&I&OP$0"W9J'Z$[S8U[Z4?ZJ1L6C/&G8/DV ?@_*!,CQG0!(7!5D+@ MGWJ(]^$3X"S="[O[1V&8&YV?2^Y.4[(3WU%S#>0-J'%CS,C]%&_1)B+'?_JE MRX\]ZQ,IT1NFG"/CM_=$G4*26"F_JSFL788E@DS"_@J4D\=HU(J/+B.1:VF_ M7_:<;7"1HCS!OHY4;D0/+U]6?\[ M"=]R \SGNHZ-[_=SL?>5 JP;Z?ON9TT&+FB7 7@^VK']!.A0)3J&XOBZ>F\. MGMHC9##;ZI>&)PM6![W&)5S$="E#'7J M2@08/'-V=O58W9F5U"-VC52UX3KE/IPY D%05AA?0(3_-4)@7/?35H9$JL=5 MP&<%\8;;&%D7]RU3K5F/O'$[Y* <$D)"[7:ACU"M=@,K=)!1^(9\.0B":XQK M9KWL"LT8'QBIG7\&^R07HEC:9V4O+LNLG**J2=Z*BRTS61\)%#(;XJ6J84X, M\&LO05P%EYW8;02.RT9X8> \*./=M=_-@%-*'3=\A-V.)8CV2+FR>YHE=]NQ M]+3?->LTLNS,]8M+J^>XTZ7#B;/0OI<*U%GH,&U_O,=D2J3&0Y M+/XR'?6ZN+PLFWAI0V #CECMRRI_%5AXK7#(9OFKP>?$P1'C+H).\P0\Y\8) M]\C_*5CI6 PJ:?U[H@/?BZQSQ#@4/!>,1#TI%3=/D2[!*A(FL[-\ LR"C,ON M=>$J961TK-L0(D.J,ZVP9,]^B51^G;/!$7A]J) MB_89E[BO0O23= #VP#;K#\JSQ,@.$A'S4NP! *_G8OMC^43TNT:V=:^ M7B90)5U^+G$DV.Y@JQ\F9O5+>FTH:U6#YK<0\G\,0?LI5,"XR)&UCI+ 7/H[$Q9A5J M M,Z>5#1\-$+-PRN)%G/@N/"0U(0L:R!RE_>1K52E8@1Q%DSRR(HX=J?_QPT M>!>1H88JQ>3A)953% CE,LKINL3''TJ4UL_YROXT.B /R4^2>^U"-S[BU-HP M/$#I)H:U?J<-H; %J[3B93$$)]Y<#G[F:7G9H7=7F%U^M)08T;#3\UI#,\*I MQO*-2HQNJ%8ZXS*]'95J#CIMNE6Q&'E+K22T*EI,G] M47A]0_KEKIB/&Q=]&$ GMLM>#W3]Y50Q^:NMB+\:I.G^"2 ^DS+OXF4+:E9_ MZ:XQJ(484'M7YCRSP2*=U^ #Y0ES9U8IQRC7*=JW2)CONE6(H*7O2+.4&$+< M8@5XC4&JE7GQCPG.49$#(>T7%2J7YSYWC1(F&,OU46XV(->6)A<08;\16LN*0 M_H>3:&8YPTD=$Z.3+%8OGU^)A[QG.B1-CB-?[TO#&KY65&PT@FJ$C<<;_+D/ MV0J\J"5$&9?F$\IH\$^XF&ZP+FH&/PT7F@8![X:3]CG+SE@LO'<2K/',XB.K M$?3;4_*$"0T+6]ZD.'$1*NB5A--&3,'N&4;DNSL5.UY;W]6HXA,4H_LG)O>I& M?DW\Q8.H5%VX?.*>P8NN1I8WL3)Q^,*G\O?T(!+B1IVYRR]K>/X#]"D_C=GM MR2R O:Y-KL>Z0]1[7'.']1"+OIH/SJWH.4-#5,X:7EOZ4XBC4K$13'/K!#K"HLGDMS_N\UW7 MJ/P.#354-?4V&7<(UZ<\1401T*\\P&._+Y -XGUHAN6M;N*M;L,]5AU;WN%5 ME-2<2GSL-<8$HC2G;'(L4SD5DP'6/]!O)'0,P[S3J -FZ5*1OAKWA_MY0\#1)A L+>*4=?A^( MF]O-9S72;)[4LTY)N/80^VJ3RD6GQ&EIW4"A)GA,X[:OV'4TU1()1-Y/F=>4 M!9\;AGZQH%YU-9,Q>)X1UM<%:Y35!V83 +\@CZV _\9XM]]A-#QW@.M+Z.=S<7+L P?P%@;'0(V M:W9P,W*PH,8P4IQ4QPITFN@(#*KQ+-(>[VY7IBW:UN.FZNXS!O M.WZ^GL]1L?[ZD"L;1:;WC>G=BMOJD3[+0/6>GTK-I):'Z,7O>^Z42:7Y;)MP MZG>/<83C[WV:@5VA-\ZP*G%UHDP03=-'4>'_JS/)3?F=5@+ M\47 @WH*E>"JEYGJF\OJ%#6BF/(P8'C7_=&^P^S8]5:/^G5I#XD@Z8MU?-[5 MSE::@YN+>UMPW&YT+ E7[X-^2\;B_D0*=+*$:=SYA\L*]^-E7N$X;^89S_I+)B>$9Z:7J0&>]<-_0(NE\.=9+ M=Z8:T4K _F7'R[/5@1B!NJ5=7O8ZG_8RJY3MU#AU%4-@N\Y$[]X2)/D5JTW3E=54/R0^C [DW!M6MT7F,L( MHVWLX^KRH*@#XP]'X;^[T;FKB25XU]59@R(J:A";$##]%/Q"]N,_!Y""+H*=(IBO)$])=-*6B:"3:HG36:(=8&)7N0N*K+%"-^^2H@"[5%VLH4:)W\=-.E"GVM/5%&3\6EMWX7Y2N!#!,I&\^*>'+/1R(<Y8J@SO5]'[W<89X[$1%X+;9.697X&@RDV&=I;H 4=.?N_CI4 M>#R_0A!M9U^HX+&W,3+H%OJEKWJ'$*JKN8<0:D=2L&7)/6*S*8RFOFY2F/%D MC#342(AHE1!:KPSSGR\SM*UE.K$G&0F.GY.9B?WQZ'ZR6DK2?8O;&5J';<2Y M8CFL"I.4O(.V0427CD'1PB[] UU;U5*?G@-QGT.@5;,8]U._5V4_/DJ2!UP0 M2C*X0%)=M _&E,JI!!X9FX[AN';#/T3 6Y+-3>)^(= Z7*XCU\E\V7P=V2>A M\ED=]T,CF M-KD]),E"^=L*+1="LJ<<7!E53V$,N)9>ZUIZ#SVXPFPY=[_[!6SS+_\-QA*G M*#3PE3KS&XA$A#\!-DU%24T"I-S\#(HOB';T4W)<2VU>K\$&S9J;7$X& MYJ?W19\SGO-?R\3'.^/'K!XXY P+GJM(VT?N8/&Y)+=9'&L?H8IR*&I_,?=H MWMI'J/@F*V-$AR/NI%#_DR#I]/J6ZV/V&'26B\Q]IUL\T*/^C3V M(T5#FFO,/8QY-.1II-B1;F+(6B['WK^RU:PD8*VRC<]K>Z[J@S5[P^'O:WQ_ MV3HG@SO2OV$.^&SBCF#K]VBNW+ QOTW209AU.8%=^ G!"N:-5Y+P. MXG6M*O: @K1&7Z*+VB0J]EWKYCSC5U3QUK)UT(0)0O\DJ&@%HJO@V9*U<6Q^ MTN54.=@Y7Z)S#539E#3)_HY6$&0 ]ULYP)*AX^]3"ZM',EL/P5'H(I5X*&&< M$5=G:+W)V#&#FG;_=DCT4-Z.H)H+_W;G"(RC8WLD^2OB;;2)'>W?8;[]20X_DI=F-4E*4CT7CM MJ8<+FN+0KSY+3E"8'_JGH>:ZN0Q_)NNSO7[CLRA;M"5XHS5)H7FWD,+0NM2% MY$PGP3VY.%\IQVK<:AXLZXQ[6PZ<=.M)U+M7V0Z>"!!H527:?^T%!/F-#OKW ML5$[B?R2@H%RER.:)-T'QS]H49-7SA4?7Z:FN@Y%,U@?+5&MA;EG1//>.+-S M])B&@48EHBTVJVW&!_*QXC.U\-/[3:TYD,OSE< MT[PO3;FV/+M!W!4A_%1H^8LR>'+QK_^U,6IB'NLOL(K4B-X"< #H2DZY176(;!YW&YT %L,84=?*,[T*=NBR 2/]\&/8X9:O[8.\B*59)F M9:OT)H.&MW@%';'QR/WJ2;Q572AF!(:6D;YL/ER!>Y/WK"ESTO)<]#3V?PDS M:X(6$@U/(C1VY>M5!8M%0=T.8P=CVU[SO5*D0A&(/P8)_,L?!NRR,F:? -2P MV8$[\EI((FW^ZN4F6DR<=7+Z=@G3WI8VPA_YZ<;A :UB3M1-&3RW2SQ;V MLW1)N7D"@2-UGM5R+PVI4^9/]TZJ.^*WL12.BFX>(-MSG,Y.-E6!W[]@JVMO M\)K]08&EY"E6$H*=Z9SI7O$BPG].VML/K4%4PK9/M=P::I[^F[W#.V-LK3M0 M<0D-G?)JS#5)_5.CIX?;=#Z6TB16"FS35CFMXG-\;CH)/D6EMLGO&2\!3Z4I M 5P'A-W%LB*G)=-/+NR3@1] ?>)*Z1+A?HX)TSEWC,_7E>ON,QRY[^'$Z:UF M4>Z),WX415=EJ@!?KJ8Y\X_RAJ'*?B(J.JM=^#Q7%\9[1FL]E6&OO#0L9BHK M%D]W8DU"&1^6\&4>MD"11M7YHS/YS>=$M9CJN[FAJ:V3EQ=O C'*UQ4^1]-% M\-03R+WXNH"5I#%ID/U6XS]]&P 'X?=]DF1=VP\$O/KG'.(=NPP!,@\%6Q=QWN6U$$\94AP1]*B#IH-EUFZJ?6 M%L=XF21O!]7CB?&V;U;IM2;H=V:TO'+3-_G[.NQF_'L,9[T5#]J.0=8RP9I M?#7O,@GY+G_R646A=([ Q/59PC!YJH790_!XPM[:3KUS>MU]:\ "EC+Q!66)'H[**Z"H2_N@1+0>ZN#^IHFUPQ&T[$6XS]FYR09TO*H?9@.BBS<3_FY_+$N M=(G@GJ>"#R%Q>)T_YB9'$#,0'=XWURLV\QF-Q9I/SB;&Q"IOC.P':IX$\_,' M_VGQOP!02P$"% ,4 " !CB'M85I;B.^(+ !]8@ #0 M@ $ 97A?-C0Q-30Y+FAT;5!+ 0(4 Q0 ( &.(>UA/<;*C70, &(* M - " 0T, !E>%\V-#$U-3 N:'1M4$L! A0#% @ M8XA[6&M!J?^G P UB;VW3\C < .LB - M " 2H; !E>%\V-#$U-3,N:'1M4$L! A0#% @ 8XA[ M6!+_4UIB! O!$ T ( !X2( &5X7S8T,34U-"YH=&U0 M2P$"% ,4 " !CB'M8FJL$U'($ #A$0 #0 @ %N)P M97A?-C0Q-34U+FAT;5!+ 0(4 Q0 ( &.(>UBZ?[< ,QL +VM - M " 0LL !E>%\V-#$U-38N:'1M4$L! A0#% @ 8XA[6'US M"%6: P K0L T ( !:4< &5X7S8T-#8T.2YH=&U02P$" M% ,4 " !CB'M8[I,,/>L< "K= $ $0 @ $N2P :6YT M="TR,#(S,3(S,2YX XML 117 intt20231231_10k_htm.xml IDEA: XBRL DOCUMENT 0001036262 2023-01-01 2023-12-31 0001036262 2023-06-30 0001036262 2024-03-01 0001036262 2023-12-08 2023-12-31 0001036262 2023-12-31 0001036262 2022-12-31 0001036262 2022-01-01 2022-12-31 0001036262 us-gaap:CommonStockMember 2021-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001036262 us-gaap:RetainedEarningsMember 2021-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2021-12-31 0001036262 2021-12-31 0001036262 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0001036262 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2022-01-01 2022-12-31 0001036262 us-gaap:CommonStockMember 2022-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001036262 us-gaap:RetainedEarningsMember 2022-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2022-12-31 0001036262 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001036262 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0001036262 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001036262 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001036262 us-gaap:TreasuryStockCommonMember 2023-01-01 2023-12-31 0001036262 us-gaap:CommonStockMember 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 us-gaap:TreasuryStockCommonMember 2023-12-31 0001036262 intt:TermNoteMember 2023-01-01 2023-12-31 0001036262 intt:TermNoteMember 2022-01-01 2022-12-31 0001036262 intt:FacilityInPenangMalaysiaMember 2023-12-31 0001036262 intt:AttheMarketIssuanceSalesAgreementMember 2023-05-11 2023-05-11 0001036262 intt:BankGuaranteeOnCustomerOrderDepositMember 2022-12-31 0001036262 srt:MinimumMember 2023-12-31 0001036262 srt:MaximumMember 2023-12-31 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2018-05-31 0001036262 intt:CityOfRochesterAndStateOfNewYorkMember 2023-12-31 0001036262 us-gaap:OtherCurrentLiabilitiesMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001036262 us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-12-31 0001036262 intt:AcculogicMember 2023-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel3Member 2023-12-31 0001036262 us-gaap:InterestRateSwapMember 2023-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2023-12-31 0001036262 intt:AcculogicMember 2022-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001036262 intt:AcculogicMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001036262 us-gaap:InterestRateSwapMember 2022-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel1Member 2022-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member 2022-12-31 0001036262 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member 2022-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2021-12-31 0001036262 intt:ZSciencesMember intt:ContingentConsiderationLiabilitiesMember 2022-01-01 2022-12-31 0001036262 intt:AcculogicMember intt:ContingentConsiderationLiabilitiesMember 2022-01-01 2022-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2022-01-01 2022-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2022-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2023-01-01 2023-12-31 0001036262 intt:ContingentConsiderationLiabilitiesMember 2023-12-31 0001036262 intt:ElectronicTestMember 2023-12-31 0001036262 intt:ElectronicTestMember 2022-12-31 0001036262 intt:EnvironmentalTechnologiesMember 2023-12-31 0001036262 intt:EnvironmentalTechnologiesMember 2022-12-31 0001036262 intt:ProcessTechnologiesMember 2023-12-31 0001036262 intt:ProcessTechnologiesMember 2022-12-31 0001036262 us-gaap:CustomerRelationshipsMember 2023-12-31 0001036262 us-gaap:PatentedTechnologyMember 2023-12-31 0001036262 us-gaap:PatentsMember 2023-12-31 0001036262 intt:CustomerBacklogMember 2023-12-31 0001036262 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-12-31 0001036262 us-gaap:TradeNamesMember 2023-12-31 0001036262 us-gaap:TrademarksMember 2023-12-31 0001036262 us-gaap:CustomerRelationshipsMember 2022-12-31 0001036262 us-gaap:PatentedTechnologyMember 2022-12-31 0001036262 us-gaap:PatentsMember 2022-12-31 0001036262 intt:CustomerBacklogMember 2022-12-31 0001036262 us-gaap:ComputerSoftwareIntangibleAssetMember 2022-12-31 0001036262 us-gaap:TradeNamesMember 2022-12-31 0001036262 us-gaap:TrademarksMember 2022-12-31 0001036262 srt:MinimumMember 2023-01-01 2023-12-31 0001036262 srt:MaximumMember 2023-01-01 2023-12-31 0001036262 srt:MinimumMember 2022-01-01 2022-12-31 0001036262 srt:MaximumMember 2022-01-01 2022-12-31 0001036262 intt:EndUserMember 2023-01-01 2023-12-31 0001036262 intt:EndUserMember 2022-01-01 2022-12-31 0001036262 intt:OemIntegratorsAndDistributorMember 2023-01-01 2023-12-31 0001036262 intt:OemIntegratorsAndDistributorMember 2022-01-01 2022-12-31 0001036262 intt:ThermalTestingProductsMember 2023-01-01 2023-12-31 0001036262 intt:ThermalTestingProductsMember 2022-01-01 2022-12-31 0001036262 intt:ThermalProcessMember 2023-01-01 2023-12-31 0001036262 intt:ThermalProcessMember 2022-01-01 2022-12-31 0001036262 intt:SemiconductorProductionTestProductsMember 2023-01-01 2023-12-31 0001036262 intt:SemiconductorProductionTestProductsMember 2022-01-01 2022-12-31 0001036262 intt:VideoImagingMember 2023-01-01 2023-12-31 0001036262 intt:VideoImagingMember 2022-01-01 2022-12-31 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2023-01-01 2023-12-31 0001036262 intt:FlyingProbeAndIncircuitTestersMember 2022-01-01 2022-12-31 0001036262 intt:ServiceAndOtherProductsMember 2023-01-01 2023-12-31 0001036262 intt:ServiceAndOtherProductsMember 2022-01-01 2022-12-31 0001036262 intt:SemiconductorMarketMember 2023-01-01 2023-12-31 0001036262 intt:SemiconductorMarketMember 2022-01-01 2022-12-31 0001036262 intt:IndustrialMarketMember 2023-01-01 2023-12-31 0001036262 intt:IndustrialMarketMember 2022-01-01 2022-12-31 0001036262 intt:AutomotiveMember 2023-01-01 2023-12-31 0001036262 intt:AutomotiveMember 2022-01-01 2022-12-31 0001036262 intt:LifeSciencesMember 2023-01-01 2023-12-31 0001036262 intt:LifeSciencesMember 2022-01-01 2022-12-31 0001036262 intt:DefenseAerospaceMember 2023-01-01 2023-12-31 0001036262 intt:DefenseAerospaceMember 2022-01-01 2022-12-31 0001036262 intt:SecurityMember 2023-01-01 2023-12-31 0001036262 intt:SecurityMember 2022-01-01 2022-12-31 0001036262 intt:OtherMultiMarketsMember 2023-01-01 2023-12-31 0001036262 intt:OtherMultiMarketsMember 2022-01-01 2022-12-31 0001036262 intt:TexasInstrumentsIncorporatedMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001036262 intt:EnvironmentalTechnologiesInGermanyMember 2023-12-31 0001036262 intt:AutomobileLeaseOneMember 2023-12-31 0001036262 intt:AutomobileLeaseTwoMember 2023-12-31 0001036262 intt:SoutheastAsiaOperationMember 2023-12-31 0001036262 intt:ProcessTechnologiesInTheNetherlandsMember 2023-12-31 0001036262 intt:EnvironmentalTechnologiesInGermanyMember 2023-03-31 0001036262 intt:ProcessTechnologiesInEuropeMember intt:AutomobileLeaseOneMember 2023-03-31 0001036262 intt:ProcessTechnologiesInEuropeMember intt:AutomobileLeasesMember 2023-03-31 0001036262 intt:ProcessTechnologiesInEuropeMember intt:AutomobileLeaseTwoMember 2023-06-30 0001036262 intt:ProcessTechnologiesInEuropeMember intt:AutomobileLeasesMember 2023-06-30 0001036262 intt:LeaseFacilityInSingaporeMember 2022-12-31 0001036262 intt:AutomobileLeaseForVideologyMember 2022-12-31 0001036262 intt:FacilityForAcculogicOperationInCanadaMember 2022-12-31 0001036262 intt:FacilityForAcculogicOperationInCaliforniaMember 2022-12-31 0001036262 intt:LeaseFacilityInSingaporeMember 2022-03-31 0001036262 intt:AutomobileLeaseForVideologyMember 2022-09-30 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2023-01-01 2023-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2023-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MtLaurelMember 2022-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2023-01-01 2023-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2023-12-31 0001036262 us-gaap:LetterOfCreditMember intt:MansfieldMember 2022-12-31 0001036262 us-gaap:LetterOfCreditMember 2023-12-31 0001036262 us-gaap:LetterOfCreditMember 2022-12-31 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-15 0001036262 us-gaap:RevolvingCreditFacilityMember intt:October2021AgreementMember intt:MTBankMember 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember 2021-10-15 2021-10-15 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 2021-10-15 2021-10-15 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2022-09-20 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember intt:TermNoteMember 2023-12-31 0001036262 intt:AmendedLoanAgreementMember intt:MTBankMember 2023-12-31 0001036262 intt:October2021AgreementMember intt:MTBankMember 2021-10-15 0001036262 2022-09-20 0001036262 intt:October2021AgreementMember intt:MTBankMember intt:TermNoteMember 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 2023-12-31 0001036262 intt:The2023StockIncentivePlanMember 2023-06-21 0001036262 intt:StockPlan2014Member 2023-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:CostOfSalesMember 2023-01-01 2023-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:CostOfSalesMember 2022-01-01 2022-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-12-31 0001036262 us-gaap:RestrictedStockMember us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-12-31 0001036262 us-gaap:RestrictedStockMember 2023-01-01 2023-12-31 0001036262 us-gaap:RestrictedStockMember 2022-01-01 2022-12-31 0001036262 us-gaap:EmployeeStockOptionMember 2022-01-01 2022-12-31 0001036262 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-12-31 0001036262 intt:EmployeesMember us-gaap:RestrictedStockMember 2022-01-01 2022-12-31 0001036262 intt:IndependentDirectorsMember us-gaap:RestrictedStockMember 2022-01-01 2022-12-31 0001036262 intt:IndependentDirectorsMember us-gaap:RestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2022-01-01 2022-12-31 0001036262 us-gaap:RestrictedStockMember intt:RestrictedStockVestingInThreeYearsMember intt:VestingBasedOnPerformanceMetricsMember 2020-08-01 2020-08-31 0001036262 us-gaap:RestrictedStockMember 2021-12-31 0001036262 us-gaap:RestrictedStockMember 2022-12-31 0001036262 us-gaap:RestrictedStockMember 2023-12-31 0001036262 srt:PresidentMember intt:PerformancebasedRestrictedStockMember intt:PerformancebasedRestrictedStockVestingInThreeYearsMember 2020-08-24 2020-08-24 0001036262 srt:MinimumMember srt:PresidentMember intt:PerformancebasedRestrictedStockMember intt:PerformancebasedRestrictedStockVestingInThreeYearsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-08-24 2020-08-24 0001036262 srt:MaximumMember srt:PresidentMember intt:PerformancebasedRestrictedStockMember intt:PerformancebasedRestrictedStockVestingInThreeYearsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-08-24 2020-08-24 0001036262 srt:ChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember intt:PerformancebasedRestrictedStockVestingInThreeYearsMember 2021-06-14 2021-06-14 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember intt:PerformancebasedRestrictedStockVestingInThreeYearsMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2022-12-31 2022-12-31 0001036262 intt:PerformancebasedRestrictedStockMember intt:PerformancebasedRestrictedStockVestingInThreeYearsMember intt:VestingBasedOnPerformanceMetricsMember 2023-08-24 2023-08-24 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2023-08-24 2023-08-24 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember intt:VestingBasedOnPerformanceMetricsMember 2023-03-08 2023-03-08 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember intt:VestingBasedOnPerformanceMetricsMember 2023-08-24 2023-08-24 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember 2021-03-10 2021-03-10 0001036262 srt:MinimumMember intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-03-10 2021-03-10 0001036262 srt:MaximumMember intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2021-03-10 2021-03-10 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-12-31 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-10-01 2023-12-31 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2022-12-31 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2022-01-01 2022-12-31 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-12-31 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember 2022-12-31 0001036262 srt:ChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember intt:RestrictedStockVestingOnAugust242023Member 2021-06-14 2021-06-14 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2022-03-09 2022-03-09 0001036262 srt:MinimumMember intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2022-03-09 2022-03-09 0001036262 srt:MaximumMember intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2022-03-09 2022-03-09 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-10-01 2023-12-31 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-12-31 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember 2021-10-01 2021-10-01 0001036262 srt:MinimumMember intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember intt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member intt:VestingBasedOnPerformanceMetricsMember 2021-10-01 2021-10-01 0001036262 srt:MaximumMember intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember intt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member intt:VestingBasedOnPerformanceMetricsMember 2021-10-01 2021-10-01 0001036262 intt:MembersOfTheSeniorManagementMember intt:PerformancebasedRestrictedStockMember intt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member intt:VestingBasedOnPerformanceMetricsMember 2021-01-01 2021-12-31 0001036262 intt:PerformancebasedRestrictedStockMember intt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member 2023-08-24 2023-08-24 0001036262 intt:PerformancebasedRestrictedStockMember intt:PerformanceBasedRestrictedStockVestingOnJanuary12025Member 2023-01-01 2023-12-31 0001036262 intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2023-03-08 2023-03-08 0001036262 srt:MinimumMember intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2022-03-08 2022-03-08 0001036262 srt:MaximumMember intt:ChiefExecutiveOfficerAndChiefFinancialOfficerMember intt:PerformancebasedRestrictedStockMember 2022-03-08 2022-03-08 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember intt:PerformancebasedRestrictedStockMember 2023-05-08 2023-05-08 0001036262 srt:MinimumMember intt:PresidentOfEnvironmentalTechnologiesMember intt:PerformancebasedRestrictedStockMember 2023-05-08 2023-05-08 0001036262 srt:MaximumMember intt:PresidentOfEnvironmentalTechnologiesMember intt:PerformancebasedRestrictedStockMember 2023-05-08 2023-05-08 0001036262 intt:PresidentOfEnvironmentalTechnologiesMember intt:PerformancebasedRestrictedStockMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-12-31 0001036262 2023-11-20 0001036262 2023-12-31 2023-12-31 0001036262 intt:EmployeeStockPurchasePlanMember 2021-06-23 0001036262 intt:EmployeeStockPurchasePlanMember 2023-01-01 2023-12-31 0001036262 2023-03-31 0001036262 2023-09-30 0001036262 intt:EmployeeStockPurchasePlanMember 2023-03-31 0001036262 intt:EmployeeStockPurchasePlanMember 2023-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2023-09-30 0001036262 intt:EmployeeStockPurchasePlanMember 2023-12-31 0001036262 intt:EmployeeStockPurchasePlanMember 2022-01-01 2022-12-31 0001036262 2022-03-31 0001036262 2022-06-30 0001036262 2022-09-30 0001036262 intt:EmployeeStockPurchasePlanMember 2022-03-31 0001036262 intt:EmployeeStockPurchasePlanMember 2022-06-30 0001036262 intt:EmployeeStockPurchasePlanMember 2022-09-30 0001036262 intt:EmployeeStockPurchasePlanMember 2022-12-31 0001036262 intt:The401KPlanMember 2022-01-01 2022-12-31 0001036262 intt:TheAmbrellPlanMember 2022-01-01 2022-12-31 0001036262 intt:The401KPlanMember 2023-01-01 2023-12-31 0001036262 intt:TheAmbrellPlanMember 2023-12-31 2023-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2023-01-01 2023-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:ElectronicTestMember 2022-01-01 2022-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2023-01-01 2023-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:EnvironmentalTechnologiesMember 2022-01-01 2022-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2023-01-01 2023-12-31 0001036262 us-gaap:OperatingSegmentsMember intt:ProcessTechnologiesMember 2022-01-01 2022-12-31 0001036262 us-gaap:OperatingSegmentsMember 2023-01-01 2023-12-31 0001036262 us-gaap:OperatingSegmentsMember 2022-01-01 2022-12-31 0001036262 us-gaap:CorporateNonSegmentMember 2023-01-01 2023-12-31 0001036262 us-gaap:CorporateNonSegmentMember 2022-01-01 2022-12-31 0001036262 us-gaap:CorporateMember 2023-12-31 0001036262 us-gaap:CorporateMember 2022-12-31 0001036262 intt:ElectronicTestMember 2023-01-01 2023-12-31 0001036262 intt:ElectronicTestMember 2022-01-01 2022-12-31 0001036262 intt:EnvironmentalTechnologiesMember 2023-01-01 2023-12-31 0001036262 intt:EnvironmentalTechnologiesMember 2022-01-01 2022-12-31 0001036262 intt:ProcessTechnologiesMember 2023-01-01 2023-12-31 0001036262 intt:ProcessTechnologiesMember 2022-01-01 2022-12-31 0001036262 us-gaap:CorporateMember 2023-01-01 2023-12-31 0001036262 us-gaap:CorporateMember 2022-01-01 2022-12-31 0001036262 country:US 2023-01-01 2023-12-31 0001036262 country:US 2022-01-01 2022-12-31 0001036262 us-gaap:NonUsMember 2023-01-01 2023-12-31 0001036262 us-gaap:NonUsMember 2022-01-01 2022-12-31 0001036262 country:US 2023-12-31 0001036262 country:US 2022-12-31 0001036262 us-gaap:NonUsMember 2023-12-31 0001036262 us-gaap:NonUsMember 2022-12-31 0001036262 2023-01-01 2023-03-31 0001036262 2023-04-01 2023-06-30 0001036262 2023-07-01 2023-09-30 0001036262 2023-10-01 2023-12-31 0001036262 2022-01-01 2022-03-31 0001036262 2022-04-01 2022-06-30 0001036262 2022-07-01 2022-09-30 0001036262 2022-10-01 2022-12-31 0001036262 intt:AlfamationMember us-gaap:SubsequentEventMember 2024-03-12 2024-03-12 0001036262 intt:AlfamationMember intt:WarehouseAndOfficeSpaceMember us-gaap:SubsequentEventMember 2024-03-12 0001036262 intt:AlfamationMember us-gaap:SubsequentEventMember 2024-03-12 0001036262 us-gaap:AllowanceForCreditLossMember 2022-12-31 0001036262 us-gaap:AllowanceForCreditLossMember 2023-01-01 2023-12-31 0001036262 us-gaap:AllowanceForCreditLossMember 2023-12-31 0001036262 us-gaap:WarrantyReservesMember 2022-12-31 0001036262 us-gaap:WarrantyReservesMember 2023-01-01 2023-12-31 0001036262 us-gaap:WarrantyReservesMember 2023-12-31 0001036262 us-gaap:AllowanceForCreditLossMember 2021-12-31 0001036262 us-gaap:AllowanceForCreditLossMember 2022-01-01 2022-12-31 0001036262 us-gaap:WarrantyReservesMember 2021-12-31 0001036262 us-gaap:WarrantyReservesMember 2022-01-01 2022-12-31 0001036262 intt:AcquiredAccountsReceivableSubsequentlyRecoveredMember us-gaap:AllowanceForCreditLossMember 2023-01-01 2023-12-31 0001036262 intt:AcquiredAccountsReceivableSubsequentlyRecoveredMember us-gaap:AllowanceForCreditLossMember 2022-01-01 2022-12-31 0001036262 intt:AcquiredAccountsReceivableSubsequentlyRecoveredMember 2021-12-31 0001036262 intt:AssetMember 2023-01-01 2023-12-31 iso4217:USD shares thunderdome:item iso4217:USD shares pure utr:sqft iso4217:EUR utr:Y utr:M 0001036262 INTEST CORP false --12-31 FY 2023 December 8, 2023 Richard N. Grant Chief Executive Officer true false false false December 31, 2026 775000 474000 496000 0.01 0.01 5000000 5000000 0 0 0 0 0.01 0.01 20000000 20000000 12241925 11063271 75758 34308 3 P1Y P10Y 1 90000 30000 41000 455000 136000 51000 42000 942000 127000 2010-03-29 2024-04-30 2031-04-30 2010-10-27 2024-12-31 2024-12-31 P5Y P2Y 0 0.21 0 P10Y P4Y 167886 171735 P4Y P1Y P4Y 767000 747000 3 10-K true 2023-12-31 false 1-36117 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 NYSE No No Yes Yes Accelerated Filer true false true false false 304734005 12164698 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 54pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>Item <em style="font: inherit;">9B.</em></b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>OTHER INFORMATION</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">On <em style="font: inherit;"> <span style="-sec-ix-hidden:c109416396">December 8, 2023</span>, </em><span style="-sec-ix-hidden:c109416397">Richard N. Grant</span>, the Company’s <span style="-sec-ix-hidden:c109416398">Chief Executive Officer</span>, <span style="-sec-ix-hidden:c109416399"><span style="-sec-ix-hidden:c109416400"><span style="-sec-ix-hidden:c109416401"><span style="-sec-ix-hidden:c109416402">entered</span></span></span></span> into a prearranged stock trading plan (the “Grant <em style="font: inherit;">10b5</em>-<em style="font: inherit;">1</em> Plan”). The Grant <em style="font: inherit;">10b5</em>-<em style="font: inherit;">1</em> Plan was entered into during an open insider trading window, is designed to satisfy the affirmative defense of Rule <em style="font: inherit;">10b5</em>-<em style="font: inherit;">1</em>(c), and terminates on <em style="font: inherit;"> <span style="-sec-ix-hidden:c109416403">December 31, 2026</span>. </em>The Grant <em style="font: inherit;">10b5</em>-<em style="font: inherit;">1</em> Plan provides for the sale from time to time upon a vesting event of a number of shares equal to <em style="font: inherit;">40%</em> of the fair market value of the shares that vest upon such vesting event for the purpose of covering applicable taxes due at such vesting event. The plan also has a <em style="font: inherit;">one</em>-time sale of Common Stock with an aggregate value <em style="font: inherit;">not</em> to exceed <span style="-sec-ix-hidden:c109415884">$775,000.</span></p> 49 RSM US LLP Blue Bell, Pennsylvania 45260000 13434000 0 1142000 18175000 21215000 20089000 22565000 2254000 1695000 85778000 60051000 7118000 6625000 3601000 3242000 10719000 9867000 7529000 6735000 3190000 3132000 4987000 5770000 21728000 21605000 16596000 18559000 1437000 280000 100000 100000 1013000 569000 134829000 110066000 4100000 4100000 1923000 1645000 5521000 7394000 4156000 3907000 1228000 884000 3797000 4498000 1055000 1468000 1038000 1409000 1481000 1564000 24299000 26869000 3499000 4705000 7942000 12042000 1093000 1039000 1331000 0 384000 455000 38548000 45110000 0 0 122000 111000 54450000 31987000 42196000 32854000 414000 218000 901000 214000 96281000 64956000 134829000 110066000 123302000 116828000 66324000 63388000 56978000 53440000 17605000 15903000 7618000 7529000 21316000 19287000 46539000 42719000 10439000 10721000 679000 635000 1288000 59000 11048000 10145000 1706000 1684000 9342000 8461000 0.82 0.79 11461399 10673017 0.79 0.78 11779912 10862538 9342000 8461000 -243000 549000 439000 -925000 9538000 8085000 10910460 109000 29931000 24393000 594000 -204000 54823000 0 0 8461000 0 0 8461000 0 0 0 -376000 0 -376000 0 1787000 0 0 0 1787000 123533 1000 -1000 0 0 0 0 5944 0 0 0 0 0 0 8060 38000 0 38000 27162 1000 232000 0 233000 -0 -0 -0 -0 10000 10000 11063271 111000 31987000 32854000 218000 -214000 64956000 0 0 9342000 0 0 9342000 0 0 0 196000 0 196000 0 2047000 0 0 0 2047000 97461 1000 -1000 0 0 0 0 40557 17491 0 0 0 0 0 0 124550 1000 977000 0 0 0 978000 11780 0 205000 0 0 0 205000 -0 -0 -0 -0 687000 687000 921797 9000 19235000 0 0 0 19244000 12241925 122000 54450000 42196000 414000 -901000 96281000 9342000 8461000 4683000 4734000 544000 771000 9000 -109000 2047000 1787000 31000 36000 167000 68000 -11000 -0 -1157000 -1659000 -294000 0 -2991000 4886000 -2027000 10631000 535000 243000 686000 2000 -1712000 -1363000 -1811000 2875000 231000 -118000 339000 -157000 -759000 -1464000 -421000 621000 -371000 -573000 231000 184000 1331000 0 -17000 61000 16203000 -1389000 -0 179000 0 371000 1291000 1365000 -0 3494000 0 3494000 -1291000 -1173000 19244000 0 4100000 3958000 978000 38000 174000 197000 687000 10000 15609000 -3733000 163000 -324000 30684000 -6619000 14576000 21195000 45260000 14576000 3240000 3924000 1601000 1138000 -176000 -54000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">1</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>NATURE OF OPERATIONS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We have three operating segments which are also our reportable segments and reporting units: Electronic Test, Environmental Technologies and Process Technologies.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The consolidated entity is comprised of inTEST Corporation and our wholly-owned subsidiaries. We manufacture our products in the U.S., Canada and the Netherlands. Marketing and support activities are conducted worldwide from our facilities in the U.S., Canada, Germany, Singapore, the Netherlands and the U.K. We operate our business worldwide and sell our products both domestically and internationally.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We announced in <em style="font: inherit;"> December 2023 </em>that we have signed a lease on a 25,000 square foot facility in Penang, Malaysia which will support applications engineering, product development and localized manufacturing for nearly all inTEST brands. Operations are expected to begin at this location at some point in <em style="font: inherit;">2024.</em> In connection with this operation, we established inTEST SE Asia Sdn Bhd (“inTEST SE Asia”), a private limited company incorporated in Malaysia which is a wholly-owned subsidiary of inTEST Corporation.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The semiconductor market (“semi” or the “semi market”) which includes both the broader semiconductor market, as well as the more specialized automated test equipment (“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 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 <em style="font: inherit;">one</em> market, product or customer. In particular, we are seeking to reduce the impact of volatility in the semi market on our results of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Our Electronic Test segment sells its products to semiconductor manufacturers and <em style="font: inherit;">third</em>-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 <em style="font: inherit;">third</em>-party test and assembly houses. These sales all fall within the ATE sector of the semi market. With the acquisition of Acculogic Inc. and its affiliates (“Acculogic”) in <em style="font: inherit;"> December 2021, </em>our Electronic Test segment also sells its products to customers in markets outside the semi market including the automotive, 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 automotive, 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 automotive, defense/aerospace, industrial, life sciences and security markets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Our financial results are affected by a wide variety of factors, including, but <em style="font: inherit;">not</em> 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 <em style="font: inherit;"> may </em>cause us to incur substantial expense in reviewing and evaluating potential transactions. We <em style="font: inherit;"> may </em>or <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be successful in locating suitable businesses to acquire and in closing acquisitions of businesses we pursue. In addition, we <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be able to successfully integrate any business we do acquire with our existing business and we <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be able to operate the acquired business profitably. As a result of these or other factors, we <em style="font: inherit;"> may </em>experience significant period-to-period fluctuations in future operating results.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">On <em style="font: inherit;"> May 11, 2023, </em>we entered into an At-the-Market Issuance Sales Agreement (the "Sales Agreement") pursuant to which we issued and sold 921,797 shares of our common stock having an aggregate offering price of $20,000 between <em style="font: inherit;"> May 11, 2023 </em>and <em style="font: inherit;"> May 31, 2023. </em>We received net proceeds from the sale of these shares of $19,244 after payment of commissions of 3.0% of the gross proceeds and other fees related to the sale of these shares.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 3 25000 921797 20000 19244 0.03 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">2</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Basis of Presentation and Use of Estimates</span></i></b><br/> <br/> The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant 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 and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Reclassifications</span></i></b><br/> <br/> Certain prior year amounts have been reclassified to be comparable with the current year's presentation. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Subsequent Events</span></i></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">We have made an assessment of our operations and determined that there were <em style="font: inherit;">no</em> material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the year ended <em style="font: inherit;"> December 31, 2023 </em>other than those described in Note <em style="font: inherit;">19.</em></p><p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"><em style="font: inherit;"></em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Business Combinations</span></i></b><br/> <br/> 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 <em style="font: inherit;">third</em>-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.<br/> <br/> <b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Restructuring and Other Charges</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In accordance with the guidance in Accounting Standards Codification (“ASC”) Topic <em style="font: inherit;">420</em> (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 <em style="font: inherit;"> may </em>be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities <em style="font: inherit;"> may </em>result in lease termination fees and impairment charges related to our right-of-use (“ROU”) assets that are associated with the leases for these facilities. Other long-lived assets that <em style="font: inherit;"> may </em>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 Topic <em style="font: inherit;">842</em> (Leases), ASC Topic <em style="font: inherit;">360</em> (Property, Plant and Equipment) and ASC Topic <em style="font: inherit;">350</em> (Intangibles - Goodwill and Other).</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;"><b><i><span style="text-decoration: underline; ">Cash, Cash Equivalents and Restricted Cash</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Short-term investments that have maturities of <em style="font: inherit;">three</em> 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 <em style="font: inherit;"> may </em>exceed the federally insured limits. We have <em style="font: inherit;">not</em> experienced any losses related to these cash balances and believe the credit risk to be minimal.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Restricted cash at <em style="font: inherit;"> December 31, 2022 </em>represented amounts deposited at our bank in the Netherlands to support a bank guarantee which <em style="font: inherit;">one</em> of the customers of our induction heating products required as a condition of paying a deposit on a large order they placed with us in <em style="font: inherit;">2022.</em> The amount of the deposit, and, accordingly, the guarantee, was EUR 1,160. At <em style="font: inherit;"> December 31, 2022 </em>this amount was $1,142. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At <em style="font: inherit;"> December 31, 2023, </em>this deposit had been fully utilized and the bank guarantee had therefore lapsed.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets and the consolidated statements of cash flows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total cash, cash equivalents and restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">45,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Trade Accounts Receivable and Allowance for Doubtful Accounts</span></i></b><br/> <br/> Trade accounts receivable are recorded at the invoiced amount and do <em style="font: inherit;">not</em> bear interest. We grant credit to customers and generally require <em style="font: inherit;">no</em> collateral. To minimize our risk, we perform ongoing credit evaluations of our customers' financial condition. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective <em style="font: inherit;"> January 1, 2023, </em>we follow the guidance in ASC Topic <em style="font: inherit;">326</em> (Financial Instruments – Credit Losses) 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 <em style="font: inherit;"> may </em>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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">For the year ended <em style="font: inherit;"> December 31, 2023, </em>there were <em style="font: inherit;">no</em> significant changes in the amount of the allowance for credit losses. Bad debt recoveries totaled $198 and $470 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively. These amounts had all been fully written off in a prior period or pre-acquisition, in the case of recently acquired businesses, and were <em style="font: inherit;">no</em> longer in our accounts receivable balance. Bad debt expense to reserve for items currently in our accounts receivable balance which we do <em style="font: inherit;">not</em> expect to collect totaled $286 for the year ended <em style="font: inherit;"> December 31, 2022. </em>There was no similar bad debt expense for the year ended <em style="font: inherit;"> December 31, 2023. </em>Cash flows from accounts receivable are recorded in operating cash flows.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><br/> <br/> <b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Fair Value of Financial Instruments</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 maturities of the accounts. Our credit facility and our interest rate swap are discussed further below and in Note <em style="font: inherit;">10.</em> Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC <em style="font: inherit;">820</em> (Fair Value Measurement). ASC <em style="font: inherit;">820</em> 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). Our contingent consideration liabilities are measured at fair value on a recurring basis using Level <em style="font: inherit;">3</em> 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 <em style="font: inherit;">3</em> for further disclosures related to the fair value of our liabilities for contingent consideration.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Goodwill, Intangible and Long-Lived Assets</span></i></b><br/> <br/> We have <span style="-sec-ix-hidden:c109415933">three</span> reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We account for goodwill and intangible assets in accordance with ASC Topic <em style="font: inherit;">350</em> (Intangibles - Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. Goodwill is assessed for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill <em style="font: inherit;"> may </em>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-<em style="font: inherit;">not</em> 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-<em style="font: inherit;">not</em> that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is <em style="font: inherit;">not</em> required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, or, if we choose <em style="font: inherit;">not</em> 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. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> 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 <em style="font: inherit;">not</em> that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, <em style="font: inherit;">no</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Long-lived assets, which consist of finite-lived intangible assets, property and equipment and ROU assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be fully recoverable or that the useful lives of these assets are <em style="font: inherit;">no</em> 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.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Revenue Recognition</span></i></b><br/> <br/> We recognize revenue in accordance with the guidance in ASC Topic <em style="font: inherit;">606</em> (Revenue from Contracts with Customers). We recognize revenue for the sale of products 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 <em style="font: inherit;"> may </em>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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. We do <em style="font: inherit;">not</em> have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net <em style="font: inherit;">30</em> to net <em style="font: inherit;">90</em> days. We generally do <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Nature of Products and Services</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) 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 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 also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and security markets. We provide post-warranty service and support for the equipment we sell.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">We lease certain of our equipment under short-term leasing agreements with original lease terms of <em style="font: inherit;">six</em> months or less. Our lease agreements do <em style="font: inherit;">not</em> contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Types of Contracts with Customers</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Contract Balances</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">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 <em style="font: inherit;">not</em> 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 <em style="font: inherit;">twelve</em> months is included in current liabilities.  Deferred revenue that we estimate will be recognized beyond <em style="font: inherit;">twelve</em> months is recorded in Other Liabilities 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">As discussed above, we follow the guidance in ASC Topic <em style="font: inherit;">326</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Costs to Obtain a Contract with a Customer</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or <em style="font: inherit;">third</em>-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 <em style="font: inherit;">third</em>-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 <em style="font: inherit;">not</em> yet paid are included in current liabilities on our balance sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Product Warranties</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In connection with the sale of our products, we generally provide standard <em style="font: inherit;">one</em>- or <em style="font: inherit;">two</em>-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are <em style="font: inherit;">not</em> offered for sale separately from our products; therefore, there is <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">See Notes <em style="font: inherit;">5</em> and <em style="font: inherit;">17</em> for further information about our revenue from contracts with customers.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Inventories</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Inventories are valued at cost on a <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out basis, <em style="font: inherit;">not</em> in excess of net realizable 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 <em style="font: inherit;">three</em> years. Our criteria identify obsolete material as material that has <em style="font: inherit;">not</em> been used in a work order during the prior <em style="font: inherit;">twenty-four</em> 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. We incurred excess and obsolete inventory charges of $544 and $771 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Property and Equipment</span></i></b><br/> <br/> Machinery and equipment 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 previously discussed above under "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 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:c109415981">one</span> to <span style="-sec-ix-hidden:c109415982">ten</span> years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset. Total depreciation expense was $1,021 and $809 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Leases</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We account for leases in accordance with ASC Topic <em style="font: inherit;">842</em> (Leases). 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 <em style="font: inherit;"> may </em>be either explicitly or implicitly specified in the contract. In addition, the supplier must <em style="font: inherit;">not</em> have any practical ability to substitute a different asset and would <em style="font: inherit;">not</em> 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 Topic <em style="font: inherit;">842.</em> 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 <em style="font: inherit;">not</em> currently have any financing leases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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. <em style="font: inherit;">None</em> 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 <em style="font: inherit;"> may </em>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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We have made an accounting policy election <em style="font: inherit;">not</em> to apply the recognition requirements of ASC Topic <em style="font: inherit;">842</em> to short-term leases (leases with a term of <em style="font: inherit;">one</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">See Note <em style="font: inherit;">8</em> for further disclosures regarding our leases.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Interest Rate Swap Agreement</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 Notes <em style="font: inherit;">3</em> and <em style="font: inherit;">10.</em> The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with 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 <em style="font: inherit;">815</em> (Derivatives and Hedging). Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. 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.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Contingent Liability for Repayment of State and Local Grant Funds Received </span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell, occupied in <em style="font: inherit;"> May 2018, </em>we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $550 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 are required to create and maintain specified levels of employment in this location through various dates ending in <em style="font: inherit;">2024.</em> If we fail to meet these employment targets, we <em style="font: inherit;"> may </em>be required to repay a proportionate share of the proceeds. At <em style="font: inherit;"> December 31, 2023, </em>$193 of the total proceeds received could still be required to be repaid if we do <em style="font: inherit;">not</em> meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are <em style="font: inherit;">no</em> longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the 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 $246 at <em style="font: inherit;"> December 31, 2023. </em>At <em style="font: inherit;"> December 31, 2023, </em>we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Stock-Based Compensation</span></i></b><br/> <br/> We account for stock-based compensation in accordance with ASC Topic <em style="font: inherit;">718</em> (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. See further disclosures related to our stock-based compensation plans in Note <em style="font: inherit;">13.</em><em style="font: inherit;"></em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Engineering and Product Development</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Engineering and product development costs, which consist primarily of the salary and related benefits costs of our technical staff, as well as the cost of materials used in product development, are expensed as incurred.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Foreign Currency</span></i></b><br/> <br/> For our foreign subsidiaries whose functional currencies are <em style="font: inherit;">not</em> 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 year ended <em style="font: inherit;"> December 31, 2023, </em>net foreign currency transaction gains were $9. For the year ended <em style="font: inherit;"> December 31, 2022, </em>net foreign currency transaction losses were $109.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b><b><i><span style="text-decoration: underline; ">Income Taxes</span></i></b><br/> <br/> The asset and liability method is used in accounting for 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 <em style="font: inherit;">not</em> that such assets will <em style="font: inherit;">not</em> be realized. See Note <em style="font: inherit;">11</em> for additional information regarding income taxes.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Net Earnings Per Common Share</span></i></b><br/> <br/> Net earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Net earnings per common share - diluted is computed by dividing net earnings 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 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.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 37pt;">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 per share because their effect was anti-dilutive:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding–basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,461,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,673,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Potentially dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Unvested shares of restricted stock and employee stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">318,513</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">189,521</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares and common share equivalents outstanding–diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,779,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,862,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Average number of potentially dilutive securities excluded from calculation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">140,079</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">478,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p><p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i></i></b></p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Effect of Recently Adopted Amendments to Authoritative Accounting Guidance</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In <em style="font: inherit;"> June 2016, </em>the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In <em style="font: inherit;"> November 2019, </em>the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after <em style="font: inherit;"> December 15, 2022. </em>The amendments replaced the incurred loss impairment methodology under previous GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the <em style="font: inherit;">first</em> reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on <em style="font: inherit;"> January 1, 2023. </em>The adoption of these amendments did <em style="font: inherit;">not</em> have any impact on our consolidated financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Effect of Recently Issued Amendments to Authoritative Accounting Guidance</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In <em style="font: inherit;"> November 2023, </em>the FASB issued amendments to the guidance for disclosures about reportable segments which require disclosures of significant expenses by segment and interim disclosure of items that were previously required on an annual basis. The amendments are to be applied on a retrospective basis and are effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2023 </em>and interim periods within fiscal years beginning after <em style="font: inherit;"> December 15, 2024. </em>We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In <em style="font: inherit;"> December 2023, </em>the FASB issued amendments to the guidance for disclosures about income tax which provide for additional disclosures primarily related to the income tax rate reconciliations and income taxes paid. 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 <em style="font: inherit;">five</em> percent quantitative threshold. The amendments <em style="font: inherit;"> may </em>be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2024 </em>with early adoption permitted. We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.</p><p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <b><i><span style="text-decoration: underline; ">Basis of Presentation and Use of Estimates</span></i></b><br/> <br/> The accompanying consolidated financial statements include our accounts and those of our wholly owned subsidiaries. All significant 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 and deferred tax assets and liabilities including related valuation allowances, are particularly impacted by estimates. <b><i><span style="text-decoration: underline; ">Reclassifications</span></i></b><br/> <br/> Certain prior year amounts have been reclassified to be comparable with the current year's presentation. <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Subsequent Events</span></i></b></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">We have made an assessment of our operations and determined that there were <em style="font: inherit;">no</em> material subsequent events requiring adjustment to, or disclosure in, our consolidated financial statements for the year ended <em style="font: inherit;"> December 31, 2023 </em>other than those described in Note <em style="font: inherit;">19.</em></p> <b><i><span style="text-decoration: underline; ">Business Combinations</span></i></b><br/> <br/> 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 <em style="font: inherit;">third</em>-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. <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Restructuring and Other Charges</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In accordance with the guidance in Accounting Standards Codification (“ASC”) Topic <em style="font: inherit;">420</em> (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 <em style="font: inherit;"> may </em>be recognized upon notification or ratably over the remaining required service period of the employees. Plans to consolidate excess facilities <em style="font: inherit;"> may </em>result in lease termination fees and impairment charges related to our right-of-use (“ROU”) assets that are associated with the leases for these facilities. Other long-lived assets that <em style="font: inherit;"> may </em>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 Topic <em style="font: inherit;">842</em> (Leases), ASC Topic <em style="font: inherit;">360</em> (Property, Plant and Equipment) and ASC Topic <em style="font: inherit;">350</em> (Intangibles - Goodwill and Other).</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;"><b><i><span style="text-decoration: underline; ">Cash, Cash Equivalents and Restricted Cash</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Short-term investments that have maturities of <em style="font: inherit;">three</em> 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 <em style="font: inherit;"> may </em>exceed the federally insured limits. We have <em style="font: inherit;">not</em> experienced any losses related to these cash balances and believe the credit risk to be minimal.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Restricted cash at <em style="font: inherit;"> December 31, 2022 </em>represented amounts deposited at our bank in the Netherlands to support a bank guarantee which <em style="font: inherit;">one</em> of the customers of our induction heating products required as a condition of paying a deposit on a large order they placed with us in <em style="font: inherit;">2022.</em> The amount of the deposit, and, accordingly, the guarantee, was EUR 1,160. At <em style="font: inherit;"> December 31, 2022 </em>this amount was $1,142. The related order was Euro denominated. The amount of the deposit and related guarantee declined as shipments were made against the order. At <em style="font: inherit;"> December 31, 2023, </em>this deposit had been fully utilized and the bank guarantee had therefore lapsed.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table provides a reconciliation of cash, cash equivalents, and restricted cash reported within the consolidated balance sheets and the consolidated statements of cash flows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total cash, cash equivalents and restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">45,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> 1160000 1142000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cash and cash equivalents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,434</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,142</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total cash, cash equivalents and restricted cash</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">45,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">14,576</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 45260000 13434000 0 1142000 45260000 14576000 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Trade Accounts Receivable and Allowance for Doubtful Accounts</span></i></b><br/> <br/> Trade accounts receivable are recorded at the invoiced amount and do <em style="font: inherit;">not</em> bear interest. We grant credit to customers and generally require <em style="font: inherit;">no</em> collateral. To minimize our risk, we perform ongoing credit evaluations of our customers' financial condition. As discussed below under “Effect of Recently Adopted Amendments to Authoritative Accounting Guidance”, effective <em style="font: inherit;"> January 1, 2023, </em>we follow the guidance in ASC Topic <em style="font: inherit;">326</em> (Financial Instruments – Credit Losses) 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 <em style="font: inherit;"> may </em>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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> have any significant off-balance sheet credit exposure related to our customers. Cash flows from accounts receivable are recorded in operating cash flows.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">For the year ended <em style="font: inherit;"> December 31, 2023, </em>there were <em style="font: inherit;">no</em> significant changes in the amount of the allowance for credit losses. Bad debt recoveries totaled $198 and $470 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively. These amounts had all been fully written off in a prior period or pre-acquisition, in the case of recently acquired businesses, and were <em style="font: inherit;">no</em> longer in our accounts receivable balance. Bad debt expense to reserve for items currently in our accounts receivable balance which we do <em style="font: inherit;">not</em> expect to collect totaled $286 for the year ended <em style="font: inherit;"> December 31, 2022. </em>There was no similar bad debt expense for the year ended <em style="font: inherit;"> December 31, 2023. </em>Cash flows from accounts receivable are recorded in operating cash flows.</p> 198000 470000 286000 0 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Fair Value of Financial Instruments</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 maturities of the accounts. Our credit facility and our interest rate swap are discussed further below and in Note <em style="font: inherit;">10.</em> Our liabilities for contingent consideration are accounted for in accordance with the guidance in ASC <em style="font: inherit;">820</em> (Fair Value Measurement). ASC <em style="font: inherit;">820</em> 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). Our contingent consideration liabilities are measured at fair value on a recurring basis using Level <em style="font: inherit;">3</em> 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 <em style="font: inherit;">3</em> for further disclosures related to the fair value of our liabilities for contingent consideration.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Goodwill, Intangible and Long-Lived Assets</span></i></b><br/> <br/> We have <span style="-sec-ix-hidden:c109415933">three</span> reportable segments which are also our reporting units: Electronic Test, Environmental Technologies and Process Technologies.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We account for goodwill and intangible assets in accordance with ASC Topic <em style="font: inherit;">350</em> (Intangibles - Goodwill and Other). Finite-lived intangible assets are amortized over their estimated useful economic life and are carried at cost less accumulated amortization. Goodwill is assessed for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> quarter on a reporting unit basis, or more frequently when events and circumstances occur indicating that the recorded goodwill <em style="font: inherit;"> may </em>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-<em style="font: inherit;">not</em> 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-<em style="font: inherit;">not</em> that the fair value of the reporting unit is greater than its carrying amount, a quantitative goodwill impairment test is <em style="font: inherit;">not</em> required. However, if, as a result of our qualitative assessment, we determine it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of a reporting unit is less than its carrying amount, or, if we choose <em style="font: inherit;">not</em> 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. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Indefinite-lived intangible assets are assessed for impairment annually at the beginning of the <em style="font: inherit;">fourth</em> 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 <em style="font: inherit;">not</em> that an indefinite-lived intangible asset is impaired. If, as a result of our qualitative assessment, we determine that it is more-likely-than-<em style="font: inherit;">not</em> that the fair value of the indefinite-lived intangible asset is less than its carrying amount, the quantitative impairment test is required; otherwise, <em style="font: inherit;">no</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Long-lived assets, which consist of finite-lived intangible assets, property and equipment and ROU assets, are assessed for impairment whenever events or changes in business circumstances indicate that the carrying amount of the assets <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be fully recoverable or that the useful lives of these assets are <em style="font: inherit;">no</em> 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.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Revenue Recognition</span></i></b><br/> <br/> We recognize revenue in accordance with the guidance in ASC Topic <em style="font: inherit;">606</em> (Revenue from Contracts with Customers). We recognize revenue for the sale of products 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 <em style="font: inherit;"> may </em>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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Revenue is recorded in an amount that reflects the consideration we expect to receive in exchange for those products or services. We do <em style="font: inherit;">not</em> have any material variable consideration arrangements, or any material payment terms with our customers other than standard payment terms which generally range from net <em style="font: inherit;">30</em> to net <em style="font: inherit;">90</em> days. We generally do <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Nature of Products and Services</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We are a global supplier of innovative test and process technology solutions for use in manufacturing and testing in targeted markets including automotive, defense/aerospace, industrial, life sciences, security and semiconductor. We sell thermal management products including ThermoStreams, ThermoChambers, process chillers, refrigerators and freezers, which we sell under our Temptronic, Sigma, Thermonics and North Sciences product lines, and Ambrell Corporation’s (“Ambrell”) 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 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 also sell many of our products to various other markets including the automotive, defense/aerospace, industrial, life sciences and security markets. We provide post-warranty service and support for the equipment we sell.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">We lease certain of our equipment under short-term leasing agreements with original lease terms of <em style="font: inherit;">six</em> months or less. Our lease agreements do <em style="font: inherit;">not</em> contain purchase options. Occasionally we procure and sell materials/components on behalf of and to our customers.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Types of Contracts with Customers</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Contract Balances</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">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 <em style="font: inherit;">not</em> 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 <em style="font: inherit;">twelve</em> months is included in current liabilities.  Deferred revenue that we estimate will be recognized beyond <em style="font: inherit;">twelve</em> months is recorded in Other Liabilities 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">As discussed above, we follow the guidance in ASC Topic <em style="font: inherit;">326</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Costs to Obtain a Contract with a Customer</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The only costs we incur associated with obtaining contracts with customers are sales commissions that we pay to our internal sales personnel or <em style="font: inherit;">third</em>-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 <em style="font: inherit;">third</em>-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 <em style="font: inherit;">not</em> yet paid are included in current liabilities on our balance sheets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Product Warranties</i></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In connection with the sale of our products, we generally provide standard <em style="font: inherit;">one</em>- or <em style="font: inherit;">two</em>-year product warranties which are detailed in our terms and conditions and communicated to our customers. Our standard warranties are <em style="font: inherit;">not</em> offered for sale separately from our products; therefore, there is <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">See Notes <em style="font: inherit;">5</em> and <em style="font: inherit;">17</em> for further information about our revenue from contracts with customers.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Inventories</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Inventories are valued at cost on a <em style="font: inherit;">first</em>-in, <em style="font: inherit;">first</em>-out basis, <em style="font: inherit;">not</em> in excess of net realizable 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 <em style="font: inherit;">three</em> years. Our criteria identify obsolete material as material that has <em style="font: inherit;">not</em> been used in a work order during the prior <em style="font: inherit;">twenty-four</em> 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. We incurred excess and obsolete inventory charges of $544 and $771 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively.</p> 544000 771000 <b><i><span style="text-decoration: underline; ">Property and Equipment</span></i></b><br/> <br/> Machinery and equipment 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 previously discussed above under "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 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:c109415981">one</span> to <span style="-sec-ix-hidden:c109415982">ten</span> years. Leasehold improvements are recorded at cost and amortized over the shorter of the lease term or the estimated useful life of the asset. Total depreciation expense was $1,021 and $809 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively. 1021000 809000 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Leases</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We account for leases in accordance with ASC Topic <em style="font: inherit;">842</em> (Leases). 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 <em style="font: inherit;"> may </em>be either explicitly or implicitly specified in the contract. In addition, the supplier must <em style="font: inherit;">not</em> have any practical ability to substitute a different asset and would <em style="font: inherit;">not</em> 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 Topic <em style="font: inherit;">842.</em> 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 <em style="font: inherit;">not</em> currently have any financing leases.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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. <em style="font: inherit;">None</em> 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 <em style="font: inherit;"> may </em>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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">not</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We have made an accounting policy election <em style="font: inherit;">not</em> to apply the recognition requirements of ASC Topic <em style="font: inherit;">842</em> to short-term leases (leases with a term of <em style="font: inherit;">one</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">See Note <em style="font: inherit;">8</em> for further disclosures regarding our leases.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Interest Rate Swap Agreement</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 Notes <em style="font: inherit;">3</em> and <em style="font: inherit;">10.</em> The principal objective of this agreement is to eliminate the variability of the cash flows for interest payments associated with 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 <em style="font: inherit;">815</em> (Derivatives and Hedging). Further, we have determined that this agreement qualifies for the shortcut method of hedge accounting. 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.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Contingent Liability for Repayment of State and Local Grant Funds Received </span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In connection with leasing a facility in Rochester, New York, which our subsidiary, Ambrell, occupied in <em style="font: inherit;"> May 2018, </em>we entered into agreements with the city of Rochester and the state of New York under which we received grants totaling $550 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 are required to create and maintain specified levels of employment in this location through various dates ending in <em style="font: inherit;">2024.</em> If we fail to meet these employment targets, we <em style="font: inherit;"> may </em>be required to repay a proportionate share of the proceeds. At <em style="font: inherit;"> December 31, 2023, </em>$193 of the total proceeds received could still be required to be repaid if we do <em style="font: inherit;">not</em> meet the targets. We have recorded this amount as a contingent liability which is included in other liabilities on our consolidated balance sheet. Those portions of the proceeds which are <em style="font: inherit;">no</em> longer subject to repayment are reclassified to deferred grant proceeds and amortized to income on a straight-line basis over the 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 $246 at <em style="font: inherit;"> December 31, 2023. </em>At <em style="font: inherit;"> December 31, 2023, </em>we were in compliance with the employment targets as specified in the grant agreement with the city of Rochester.</p> 550000 193000 246000 <b><i><span style="text-decoration: underline; ">Stock-Based Compensation</span></i></b><br/> <br/> We account for stock-based compensation in accordance with ASC Topic <em style="font: inherit;">718</em> (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. See further disclosures related to our stock-based compensation plans in Note <em style="font: inherit;">13.</em> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Engineering and Product Development</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Engineering and product development costs, which consist primarily of the salary and related benefits costs of our technical staff, as well as the cost of materials used in product development, are expensed as incurred.</p> <b><i><span style="text-decoration: underline; ">Foreign Currency</span></i></b><br/> <br/> For our foreign subsidiaries whose functional currencies are <em style="font: inherit;">not</em> 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 year ended <em style="font: inherit;"> December 31, 2023, </em>net foreign currency transaction gains were $9. For the year ended <em style="font: inherit;"> December 31, 2022, </em>net foreign currency transaction losses were $109. 9000 -109000 <b><i><span style="text-decoration: underline; ">Income Taxes</span></i></b><br/> <br/> The asset and liability method is used in accounting for 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 <em style="font: inherit;">not</em> that such assets will <em style="font: inherit;">not</em> be realized. See Note <em style="font: inherit;">11</em> for additional information regarding income taxes. <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Net Earnings Per Common Share</span></i></b><br/> <br/> Net earnings per common share - basic is computed by dividing net earnings by the weighted average number of common shares outstanding during each period. Net earnings per common share - diluted is computed by dividing net earnings 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 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.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 37pt;">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 per share because their effect was anti-dilutive:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding–basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,461,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,673,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Potentially dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Unvested shares of restricted stock and employee stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">318,513</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">189,521</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares and common share equivalents outstanding–diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,779,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,862,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Average number of potentially dilutive securities excluded from calculation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">140,079</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">478,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding–basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,461,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,673,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Potentially dilutive securities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 18pt;">Unvested shares of restricted stock and employee stock options</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">318,513</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">189,521</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares and common share equivalents outstanding–diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,779,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,862,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Average number of potentially dilutive securities excluded from calculation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">140,079</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">478,024</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 11461399 10673017 318513 189521 11779912 10862538 140079 478024 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Effect of Recently Adopted Amendments to Authoritative Accounting Guidance</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In <em style="font: inherit;"> June 2016, </em>the Financial Accounting Standards Board (“FASB”) issued amendments to the guidance for accounting for credit losses. In <em style="font: inherit;"> November 2019, </em>the FASB deferred the effective date of these amendments for certain companies, including smaller reporting companies. As a result of the deferral, the amendments were effective for us for reporting periods beginning after <em style="font: inherit;"> December 15, 2022. </em>The amendments replaced the incurred loss impairment methodology under previous GAAP with a methodology that reflects expected credit losses and requires the use of a forward-looking expected credit loss model for accounts receivables, loans, and other financial instruments. The amendments require a modified retrospective approach through a cumulative-effect adjustment to retained earnings as of the beginning of the <em style="font: inherit;">first</em> reporting period in which the guidance is effective. We adopted the amendments when they became effective for us on <em style="font: inherit;"> January 1, 2023. </em>The adoption of these amendments did <em style="font: inherit;">not</em> have any impact on our consolidated financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Effect of Recently Issued Amendments to Authoritative Accounting Guidance</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In <em style="font: inherit;"> November 2023, </em>the FASB issued amendments to the guidance for disclosures about reportable segments which require disclosures of significant expenses by segment and interim disclosure of items that were previously required on an annual basis. The amendments are to be applied on a retrospective basis and are effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2023 </em>and interim periods within fiscal years beginning after <em style="font: inherit;"> December 15, 2024. </em>We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In <em style="font: inherit;"> December 2023, </em>the FASB issued amendments to the guidance for disclosures about income tax which provide for additional disclosures primarily related to the income tax rate reconciliations and income taxes paid. 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 <em style="font: inherit;">five</em> percent quantitative threshold. The amendments <em style="font: inherit;"> may </em>be adopted on a prospective or retrospective basis and are effective for fiscal years beginning after <em style="font: inherit;"> December 15, 2024 </em>with early adoption permitted. We are evaluating the impact of the amendments on disclosures in our consolidated financial statements.</p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">3</em>)</b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>FAIR VALUE MEASUREMENTS </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">ASC Topic <em style="font: inherit;">820</em> (Fair Value Measurement) 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">ASC <em style="font: inherit;">820</em> 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 <em style="font: inherit;">820</em> establishes a <em style="font: inherit;">three</em>-tier fair value hierarchy that distinguishes among the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Level <em style="font: inherit;">1</em> Valuations based on unadjusted quoted prices in active markets for identical assets or liabilities that we have the ability to access.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Level <em style="font: inherit;">2</em> 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 <em style="font: inherit;">not</em> active and models for which all significant inputs are observable, either directly or indirectly.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Level <em style="font: inherit;">3</em> Valuations based on inputs that are unobservable and significant to the overall fair value measurement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 <em style="font: inherit;">3.</em> 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Recurring Fair Value Measurements</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The interest rate swap agreement we entered into in connection with our Term Note, as discussed further in Notes <em style="font: inherit;">2</em> and <em style="font: inherit;">10,</em> is measured at fair value on a recurring basis using Level <em style="font: inherit;">2</em> inputs. The contingent consideration liability on our balance sheets is measured at fair value on a recurring basis using Level <em style="font: inherit;">3</em> inputs. Our contingent consideration liability is a result of our acquisition of Acculogic on <em style="font: inherit;"> December 21, 2021, </em>and represents the estimated fair value of the additional cash consideration payable that is contingent upon sales to Electric Vehicle (“EV”) or battery customers. Our acquisition of Acculogic and this liability are both discussed further in Note <em style="font: inherit;">3</em> to our consolidated financial statements in our Annual Report on Form <em style="font: inherit;">10</em>-K for the year ended <em style="font: inherit;"> December 31, 2022 (</em>the <em style="font: inherit;">“2022</em> Form <em style="font: inherit;">10</em>-K”) filed on <em style="font: inherit;"> March 22, 2023 </em>with the Securities and Exchange Commission. As of <em style="font: inherit;"> December 31, 2023, </em>this liability was classified as long-term. As of <em style="font: inherit;"> December 31, 2022, </em>$324 of this liability was classified as current and was included in Other Current Liabilities on our balance sheet. During the year ended <em style="font: inherit;"> December 31, 2023, </em>the total amount of this liability was adjusted down by $294 as a result of a reduction in our forecast for sales to EV and battery customers in the <em style="font: inherit;">five</em>-year period following the acquisition. The decrease in the amount of the liability during <em style="font: inherit;">2023</em> was included in General and Administrative Expenses on our statement of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following fair value hierarchy table presents information about assets and (liabilities) measured at fair value on a recurring basis:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amounts at</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value Measurement Using</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 1</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 2</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 3</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>At December 31, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amounts at</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value Measurement Using</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 1</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 2</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 3</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>At December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Changes in the fair value of our Level <em style="font: inherit;">3</em> contingent consideration liabilities for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> were as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Payout of contingent consideration related to the acquisition of Z-Sciences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(179</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustment to contingent consideration liability in connection with the acquisition of Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(67</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustment to contingent consideration liability in connection with the acquisition of Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(294</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 324000 294000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amounts at</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value Measurement Using</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 1</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 2</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 3</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>At December 31, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amounts at</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value Measurement Using</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Fair Value</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 1</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 2</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Level 3</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 48%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>At December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Contingent consideration liability – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest rate swap</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">528</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 1093000 1093000 285000 285000 1363000 -0 -0 1363000 528000 0 528000 0 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Payout of contingent consideration related to the acquisition of Z-Sciences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(179</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustment to contingent consideration liability in connection with the acquisition of Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">500</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(67</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,363</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustment to contingent consideration liability in connection with the acquisition of Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(294</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,093</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 1109000 179000 500000 67000 1363000 294000 -24000 1093000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">4</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>GOODWILL AND INTANGIBLE ASSETS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We have <em style="font: inherit;">three</em> 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. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Goodwill</span></i></b><br/> <br/> Changes in the amount of the carrying value of goodwill for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,448</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">451</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(294</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">123</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Goodwill was comprised of the following at <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total Goodwill</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Intangible Assets</span></i></b><br/> <br/> Changes in the amount of the carrying value of indefinite-lived intangible assets for the year ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,428</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Changes in the amount of the carrying value of finite-lived intangible assets for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> are as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,206</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,094</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,198</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following tables provide further detail about our intangible assets at <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31, 2023 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Gross<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Accumulated </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amortization</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Net<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,407</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,687</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,720</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,417</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,478</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,198</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,199</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,596</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31, 2022 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Gross<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Accumulated </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amortization</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Net<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,990</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,323</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">988</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,660</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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. <em style="font: inherit;">None</em> of our intangible assets have any residual value.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table sets forth the estimated annual amortization expense for each of the next <em style="font: inherit;">five</em> years:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,774</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,163</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">667</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">534</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Impairment of Goodwill and Indefinite Life Intangible Assets</span></i></b><br/> <br/> During <em style="font: inherit;"> October 2023 </em>and <em style="font: inherit;">2022,</em> we assessed our goodwill and indefinite life intangible asset for impairment in accordance with the requirements of ASC Topic <em style="font: inherit;">350</em> using a quantitative approach. Our 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 discount rate used in <em style="font: inherit;">2023</em> for the discounted cash flows ranged between 14.5% and 16.0% depending on the reporting unit. The discount rate used in <em style="font: inherit;">2022</em> for the discounted cash flows ranged between 16.5% and 18.0% depending on the reporting unit. The selection of the rates in each year was based upon our analysis of market-based estimates of capital costs and discount rates. 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the goodwill impairment assessment in both <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022,</em> we compared the fair value of our reporting units with their carrying values. This assessment indicated no impairment existed as the fair value of the reporting units exceeded their carrying values in both <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022.</em><br/> <br/> During the indefinite life intangible asset impairment assessment in both <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022,</em> we compared the fair value of our indefinite life intangible assets with their carrying values. This assessment indicated no impairment existed as the fair value of the indefinite life intangible assets exceeded their carrying values in both <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022.</em> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Impairment of Long-Lived Assets and Finite-lived Intangible Assets</span></i></b><br/> <br/> During <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022,</em> we did <em style="font: inherit;">not</em> review any of our long-lived assets for impairment as there were <em style="font: inherit;">no</em> events or changes in business circumstances that would indicate an impairment might exist.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,448</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">451</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(294</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">123</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 21448000 451000 -294000 21605000 123000 21728000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,436</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,475</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">16,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total Goodwill</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,728</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">21,605</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31, 2023 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Gross<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Accumulated </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amortization</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Net<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,407</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,687</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,720</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,417</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,478</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,198</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,199</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,603</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">16,596</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="10" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31, 2022 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Gross<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Accumulated </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amortization</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Net<br/> Carrying<br/> Amount</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 52%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Customer relationships</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,313</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,990</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,323</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Technology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,855</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">988</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Patents</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Backlog</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">492</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Software</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">270</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trade name</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total finite-lived intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20,660</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Indefinite-lived intangible assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Trademarks</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"><em style="font: inherit;">-</em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">29,029</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,470</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">18,559</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 3436000 3369000 1817000 1817000 16475000 16419000 21728000 21605000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,428</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">29</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,398</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 8428000 20000 -79000 8369000 29000 8398000 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,206</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt; text-indent: -9pt;">Adjustments to preliminary amounts recorded in the fourth quarter of 2021 (see Note 3 to the consolidated financial statements in our 2022 Form 10-K)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Impact of foreign currency translation adjustments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">102</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(2,094</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Balance - December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">8,198</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 13206000 29000 -351000 2694000 10190000 102000 2094000 8198000 16407000 9687000 6720000 2895000 1417000 1478000 590000 590000 499000 499000 270000 270000 140000 140000 20801000 12603000 8198000 8398000 8398000 29199000 12603000 16596000 16313000 7990000 8323000 2855000 988000 1867000 590000 590000 0 492000 492000 0 270000 270000 0 140000 140000 0 20660000 10470000 10190000 8369000 8369000 29029000 10470000 18559000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,973</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,774</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,163</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">667</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">534</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 1973000 1774000 1163000 667000 534000 0.145 0.16 0.165 0.18 0 0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">5</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>REVENUE FROM CONTRACTS WITH CUSTOMERS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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 also Note <em style="font: inherit;">17</em> for information about revenue by operating segment and geographic region.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31, </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue by customer type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">End user</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">85,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">84,468</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">OEM/Integrator/Distributor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">37,905</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">32,360</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue by product type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Thermal test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,344</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">22,246</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Thermal process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44,914</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38,574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Semiconductor test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,235</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">28,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Video imaging</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,086</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Flying probe and in-circuit testers</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Service/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,742</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,566</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue by market:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Semi</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">65,735</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">68,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Industrial</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,310</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,038</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Automotive (including Electric Vehicles)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,776</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Life Sciences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,589</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Defense/aerospace</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,006</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Security</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,688</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,756</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">    </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31, </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue by customer type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">End user</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">85,397</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">84,468</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">OEM/Integrator/Distributor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">37,905</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">32,360</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue by product type:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Thermal test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,344</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">22,246</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Thermal process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44,914</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38,574</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Semiconductor test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,235</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">28,529</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Video imaging</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,086</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,499</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Flying probe and in-circuit testers</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,414</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Service/other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,742</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">10,566</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue by market:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Semi</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">65,735</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">68,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Industrial</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,310</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,038</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Automotive (including Electric Vehicles)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,895</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,776</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Life Sciences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,856</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,589</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Defense/aerospace</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,537</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7,006</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Security</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,688</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,241</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">12,756</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 85397000 84468000 37905000 32360000 123302000 116828000 21344000 22246000 44914000 38574000 30235000 28529000 9086000 9499000 6981000 7414000 10742000 10566000 123302000 116828000 65735000 68422000 14310000 10038000 9895000 10776000 4856000 4589000 12537000 7006000 3688000 3241000 12281000 12756000 123302000 116828000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">6</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>MAJOR CUSTOMERS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the year ended <em style="font: inherit;"> December 31, 2023, </em><span style="-sec-ix-hidden:c109416082">one</span> customer accounted for 13% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment. During the year ended <em style="font: inherit;"> December 31, 2023, </em><em style="font: inherit;">no</em> other customer accounted for <em style="font: inherit;">10%</em> or more of our consolidated revenue. During the year ended <em style="font: inherit;"> December 31, 2022, </em><em style="font: inherit;">no</em> customer accounted for <em style="font: inherit;">10%</em> or more of our consolidated revenue.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 0.13 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">7</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>INVENTORIES</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Inventories held at <em style="font: inherit;"> December 31 </em>were comprised of the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,948</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,888</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,432</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Inventory consigned to others</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,480</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,186</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">20,089</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">22,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Raw materials</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,948</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,888</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Work in process</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,432</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Inventory consigned to others</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">98</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Finished goods</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,480</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,186</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total inventories</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">20,089</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">22,565</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 15948000 16888000 1563000 2432000 98000 59000 2480000 3186000 20089000 22565000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">8</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>LEASES</b> </p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">As previously discussed in Note <em style="font: inherit;">2,</em> we account for our leases in accordance with the guidance in ASC Topic <em style="font: inherit;">842.</em> We lease our offices, warehouse facilities and certain equipment under non-cancellable operating leases that expire at various dates through <em style="font: inherit;">2031.</em> Total operating lease and short-term lease costs for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively, were as follows: </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">81</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following is additional information about our leases at <em style="font: inherit;"> December 31, 2023:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Range of remaining lease terms (in years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.3</td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">to</em></td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">4.3</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">4.6%</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Maturities of lease liabilities at <em style="font: inherit;"> December 31, 2023 </em>were as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,232</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">761</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">361</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,947</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(525</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Cash Flow Information</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Total amortization of ROU assets for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> was $1,567 and $1,241, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><i>Lease Modifications and Additions</i></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Supplemental cash flow information related to leases for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> was as follows: </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b>Year ended <em style="font: inherit;"> December 31, 2023</em></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 44pt;">Non-cash increases in operating lease liabilities and ROU assets as a result of acquisitions and the execution of new leases:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>ROU Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to automobile leases – Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to automobile leases – Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – inTEST SE Asia</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">455</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">455</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Extension of facility lease – Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2023, </em>we entered into a 25-month lease for a facility for our Environmental Technologies segment’s operation in Germany. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $90. During this same period, we entered into a 36-month lease for a car for <em style="font: inherit;">one</em> of the employees of our Process Technologies segment who is based in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $30.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> June 30, 2023, </em>we entered into a 48-month lease for a car for <em style="font: inherit;">one</em> of the employees of our Process Technologies segment who is based in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities totaling approximately $41.</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> December 31, 2023, </em>we entered into a 36-month lease for a facility for our inTEST SE Asia operation which we expect will begin operations at some point in <em style="font: inherit;">2024,</em> as discussed further in Note <em style="font: inherit;">1.</em> At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $455. During this same period, we entered also extended the lease for our Process Technologies operations in the Netherlands for an additional 36 months. At the effective date of this modification, we recorded non-cash increases in our ROU assets and operating lease liabilities totaling approximately $136.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b>Year ended <em style="font: inherit;"> December 31, 2022</em></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 44pt;">Non-cash increases in operating lease liabilities and ROU assets as a result of acquisitions and the execution of new leases:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>ROU Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Extension of facility lease – Singapore</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to automobile leases – Videology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">942</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">942</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> March 31, 2022, </em>we executed an amendment to the lease for our facility in Singapore which extended the term for a period of <em style="font: inherit;">24</em> months commencing on <em style="font: inherit;"> April 1, 2022 </em>and expiring on <em style="font: inherit;"> March 31, 2024. </em>At the effective date of this modification, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $51.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> September 30, 2022, </em>we executed a 48-month lease for an automobile for our Videology operation in Europe. At the effective date of this lease, we recorded a non-cash increase in our ROU assets and operating lease liabilities of approximately $42.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the <em style="font: inherit;">three</em> months ended <em style="font: inherit;"> December 31, 2022, </em>we executed a 62-month lease for a new facility for our Acculogic operation in Canada and a 37-month lease for a new facility for our Acculogic operation in California. At the effective dates of these leases, we recorded non-cash increases in our ROU assets and operating lease liabilities of approximately $942 and $127, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Operating lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,590</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,340</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Short-term lease cost</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">81</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Range of remaining lease terms (in years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 5%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.3</td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;"><em style="font: inherit;">to</em></td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average remaining lease term (in years)</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">4.3</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 83%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average discount rate</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="width: 5%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; text-align: center;">4.6%</td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 5%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td></tr> </tbody></table> 1590000 1340000 13000 81000 P0Y3M18D P7Y3M18D P4Y3M18D 0.046 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,078</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,232</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2027</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">761</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2028</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">361</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Thereafter</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">584</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total lease payments</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5,947</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Less imputed interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(525</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">5,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2078000 1232000 931000 761000 361000 584000 5947000 525000 5422000 1567000 1241000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>ROU Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">90</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to automobile leases – Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to automobile leases – Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – inTEST SE Asia</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">455</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">455</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Extension of facility lease – Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Operating</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Liabilities</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>ROU Assets</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Extension of facility lease – Singapore</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to automobile leases – Videology</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">42</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">942</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">942</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Addition to facility leases – Acculogic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 90000 90000 30000 30000 41000 41000 455000 455000 136000 136000 P25M 90000 P36Y 30000 P48Y 41000 P36M 455000 P36Y 136000 51000 51000 42000 42000 942000 942000 127000 127000 51000 P48M 42000 P62M P37M 942000 127000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">9</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>OTHER CURRENT LIABILITIES</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Other current liabilities at <em style="font: inherit;"> December 31 </em>were comprised of the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of deferred grant proceeds</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">52</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of contingent consideration</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">324</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">669</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">385</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other current liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued taxes</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">83</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of deferred grant proceeds</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">38</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Accrued interest</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">52</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">61</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current portion of contingent consideration</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">324</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">669</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">385</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total other current liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,481</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,564</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 648000 673000 57000 83000 55000 38000 52000 61000 0 324000 669000 385000 1481000 1564000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">10</em>) </b></p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>DEBT</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Letters of Credit</span></i></b><br/> <br/> 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 Restricted Certificates of Deposit on our consolidated balance sheets. The terms of our leases require us to renew these letters of credit at least <em style="font: inherit;">30</em> days prior to their expiration dates for successive terms of <em style="font: inherit;">not</em> less than <em style="font: inherit;">one</em> year until lease expiration. Our outstanding letters of credit at <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;"> December 31, 2022 </em>consisted of the following:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>L/C</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Letters of Credit<br/> Amount Outstanding</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>Facility</b></span></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Original L/C</b><br/> <b>Issue Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Dec. 31<br/> 2023 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Dec. 31<br/> 2022 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mt. Laurel, NJ</p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415524">3/29/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415525">4/30/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415526">4/30/2031</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mansfield, MA</p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415529">10/27/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415530">12/31/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415531">12/31/2024</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"><em style="font: inherit;"> </em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Credit Facility</span></i></b></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">On <em style="font: inherit;"> October 15, 2021 (</em>the “Closing Date”), we entered into an Amended and Restated Loan and Security Agreement with M&amp;T Bank (“M&amp;T”) which, on <em style="font: inherit;"> October 28, 2021, </em>was amended by the Joinder and Amendment to Amended and Restated Loan and Security Agreement and which, on <em style="font: inherit;"> December 30, 2021, </em>was further amended by the Joinder and Second Amendment to Amended and Restated Loan and Security Agreement (as amended, the “Loan Agreement”).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">The Loan Agreement included a $25,000 non-revolving delayed draw term note (the “Term Note”) and a $10,000 revolving credit facility (the “Revolving Facility” and together with the Term Note, the “Credit Facility”). The Credit Facility had a <span style="-sec-ix-hidden:c109416136">five</span>-year contract period that began on the Closing Date and expired on <em style="font: inherit;"> October 15, 2026, </em>and draws under the Term Note were permissible for <span style="-sec-ix-hidden:c109416137">two</span> years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">On <em style="font: inherit;"> September 20, 2022, </em>we further amended the Loan Agreement by entering into a Third Amendment to Amended and Restated Loan and Security Agreement (the Loan Agreement, as amended by the Third Amendment, the “Amended Loan Agreement”) and the Third Amended and Restated Delayed Draw Term Note. Under the Amended Loan Agreement, the maximum loan amount that we <em style="font: inherit;"> may </em>borrow under the Term Note increased from $25,000 to $50,500, which raises the available funding at <em style="font: inherit;"> December 31, 2023 </em>to $30,000. Under the Amended Loan Agreement, the maturity date of the Term Note and Revolving Facility were also extended to <em style="font: inherit;"> September 19, 2027 (</em>the “Contract Period”). At <em style="font: inherit;"> December 31, 2023, </em>we had <span style="-sec-ix-hidden:c109416141">not</span> borrowed any amounts under the $10,000 Revolving Facility. Our borrowings under the Term Note are discussed below and occurred prior to entering into the Amended Loan Agreement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">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 <em style="font: inherit;">five</em>-year amortizing term loan with a balloon due at maturity, or (ii) up to a <em style="font: inherit;">five</em>-year term with up to <em style="font: inherit;">seven</em> years amortization with a balloon due at maturity. Any amortization greater than <em style="font: inherit;">five</em> years will be subject to an excess cash flow recapture. The Amended 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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">The Amended Loan Agreement contains customary default provisions, including but <em style="font: inherit;">not</em> limited to the failure by us to repay obligations when due, violation of provisions or representations provided in the Amended 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 non-default interest rate. The Amended Loan Agreement includes customary affirmative, negative and financial covenants, including a maximum ratio of consolidated funded debt to consolidated EBITDA of <em style="font: inherit;">not</em> more than 3.0 to <em style="font: inherit;">1.0</em> and a fixed charge coverage ratio of <em style="font: inherit;">not</em> less than 1.25 to <em style="font: inherit;">1.0.</em> Our obligations under the Amended 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 <em style="font: inherit;"> December 31, 2023, </em>we were in compliance with all of the covenants included in the Credit Facility including the debt covenants of the Amended Loan Agreement.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">On <em style="font: inherit;"> October 28, 2021, </em>we drew $12,000 under the Term Note to finance the acquisition of Videology as discussed in Note <em style="font: inherit;">12</em> to our consolidated financial statements in our <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10</em>-K. 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 <em style="font: inherit;">five</em>-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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">On <em style="font: inherit;"> December 29, 2021, </em>we drew $8,500 under the Term Note to finance the acquisition of Acculogic as discussed in Note <em style="font: inherit;">12</em> to our consolidated financial statements in our <em style="font: inherit;">2022</em> Form <em style="font: inherit;">10</em>-K. We did <em style="font: inherit;">not</em> enter into an interest rate swap agreement with M&amp;T related to this draw. The annual interest rate we expect to pay for this draw under the Term Note is variable. At <em style="font: inherit;"> December 31, 2023, </em>it was approximately 7.4% based on current leverage. Effective <em style="font: inherit;"> March 1, 2024, </em>this rate was unchanged.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table sets forth the remaining maturities of long-term debt:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,042</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>L/C</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Lease</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Letters of Credit<br/> Amount Outstanding</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><span style="text-decoration: underline; "><b>Facility</b></span></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Original L/C</b><br/> <b>Issue Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expiration</b><br/> <b>Date</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Dec. 31<br/> 2023 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0); width: 1%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Dec. 31<br/> 2022 </b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; width: 1%;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mt. Laurel, NJ</p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415524">3/29/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415525">4/30/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415526">4/30/2031</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Mansfield, MA</p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415529">10/27/2010</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415530">12/31/2024</span></p> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 1%;"> </td><td style="text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; width: 14%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: right; margin: 0pt;"><span style="-sec-ix-hidden:c109415531">12/31/2024</span></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">50</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 30%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"><em style="font: inherit;"> </em></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 1%;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 14%;"><em style="font: inherit;"> </em></td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 10%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 50000 50000 50000 50000 100000 100000 25000000 10000000 25000000 50500000 30000000 10000000 0.02 3 1.25 12000000 0.032 8500000 0.074 <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 84%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2024</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2025</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,100</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">2026</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">12,042</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 4100000 4100000 3842000 12042000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">11</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>INCOME TAXES </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We are subject to Federal and certain state income taxes. In addition, we are taxed in certain foreign countries.<br/> <br/> Earnings before income taxes was as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,575</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,448</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Income tax expense was as follows:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,892</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – state</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">202</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">263</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">267</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,863</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,344</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – state</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(204</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,157</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Deferred income taxes reflect the net tax effect of net operating loss and tax credit carryforwards as well as temporary differences between the carrying amount of assets and liabilities for financial reporting purposes and the amounts used for income tax purposes. The following is a summary of the significant components of our deferred tax assets and liabilities at <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022:</em></p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Capitalized research and development costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,125</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued vacation pay and stock-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">433</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">465</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt;">Inventories</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt;">Intangible assets</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net operating loss (state and foreign)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt;">Acquisition costs</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tax credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">62</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,797</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(227</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,882</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,949</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(762</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(996</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Depreciation of property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(385</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(120</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,115</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,437</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The net change in the valuation allowance for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> was an increase of $18 and $163, respectively. In assessing the ability to realize the deferred tax assets, we consider whether it is more likely than <em style="font: inherit;">not</em> that some portion or all of the deferred tax assets will <em style="font: inherit;">not</em> be realized. The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during periods in which those temporary differences become deductible. We consider the scheduled reversal of deferred tax liabilities, projected future taxable income and tax planning strategies in making this assessment. In order to fully realize the total deferred tax assets, we will need to generate future taxable income prior to the expiration of net operating loss and tax credit carryforwards which expire in various years through <em style="font: inherit;">2040.</em> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">An analysis of the effective tax rate for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> and a reconciliation from the expected statutory rate of 21% is as follows:</p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected income tax expense at U.S. statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Increase (decrease) in tax from:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Dividend from foreign subsidiaries</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">NOL carryforwards utilized</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">39</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Stock compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Global intangible low taxed income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Nondeductible expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current year tax credits (foreign and research)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(367</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(465</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic tax benefit, net of Federal benefit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(167</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Changes in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">163</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Foreign income tax rate differences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">147</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Section 250 foreign derived intangible income deduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">In accounting for income taxes, we follow the guidance in ASC Topic <em style="font: inherit;">740</em> (Income Taxes) regarding the recognition and measurement of uncertain tax positions in our financial statements. Recognition involves a determination of whether it is more likely than <em style="font: inherit;">not</em> 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 statement of operations. At <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> we did <em style="font: inherit;">not</em> have an accrual for uncertain tax positions.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We file U.S. income tax returns and multiple state and foreign income tax returns. With few exceptions, the U.S. and state income tax returns filed for the tax years ended <em style="font: inherit;"> December 31, 2020 </em>and thereafter are subject to examination by the relevant taxing authorities.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Domestic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,600</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,575</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,448</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 9600000 9575000 1448000 570000 11048000 10145000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Current</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,139</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,892</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – state</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">202</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">263</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">522</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">267</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">2,863</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,422</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – Federal</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,344</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic – state</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(136</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(204</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,157</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(1,738</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2139000 2892000 202000 263000 522000 267000 2863000 3422000 -1052000 -1344000 31000 -190000 -136000 -204000 -1157000 -1738000 1706000 1684000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax assets:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Capitalized research and development costs</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,260</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Operating lease liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">859</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,125</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued vacation pay and stock-based compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">433</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">465</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt;">Inventories</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">395</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt;">Intangible assets</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">369</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">140</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Net operating loss (state and foreign)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">285</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-left: 9pt;">Acquisition costs</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">44</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Accrued warranty</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">54</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Tax credit carryforwards</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">89</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">62</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Total</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,797</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4,109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(245</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(227</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,552</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">3,882</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax liabilities:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Intangible assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(1,949</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,101</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Right-of-use assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(762</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(996</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Depreciation of property and equipment</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(404</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(385</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(120</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Deferred tax liabilities</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,115</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(3,602</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net deferred tax assets</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,437</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">280</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2320000 1260000 859000 1125000 433000 465000 395000 602000 369000 140000 245000 285000 44000 46000 44000 43000 26000 54000 0 89000 62000 0 4797000 4109000 245000 227000 4552000 3882000 1949000 2101000 762000 996000 404000 385000 -0 120000 3115000 3602000 1437000 280000 18000 163000 0.21 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected income tax expense at U.S. statutory rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,320</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,131</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Increase (decrease) in tax from:</p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Dividend from foreign subsidiaries</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">184</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">127</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">NOL carryforwards utilized</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">39</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Stock compensation</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(329</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">77</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Global intangible low taxed income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">66</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Nondeductible expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Current year tax credits (foreign and research)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(367</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(465</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Domestic tax benefit, net of Federal benefit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(167</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">87</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Changes in valuation allowance</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">163</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Foreign income tax rate differences</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">109</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">147</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Section 250 foreign derived intangible income deduction</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Other</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">63</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2320000 2131000 184000 127000 -39000 80000 -329000 77000 87000 66000 21000 11000 367000 465000 -167000 87000 18000 163000 109000 147000 272000 563000 63000 -17000 1706000 1684000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">12</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>LEGAL PROCEEDINGS </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">From time to time we <em style="font: inherit;"> may </em>be a party to legal proceedings occurring in the ordinary course of business. We are <em style="font: inherit;">not</em> currently involved in any legal proceedings the resolution of which we believe could have a material effect on our business, financial position, results of operations or long-term liquidity.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">13</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>STOCK-BASED COMPENSATION PLAN</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">As of <em style="font: inherit;"> December 31, 2023, </em>we had unvested restricted stock awards and stock options granted under stock-based compensation plans. On <em style="font: inherit;"> June 21, 2023, </em>our stockholders approved the inTEST Corporation <em style="font: inherit;">2023</em> Stock Incentive Plan (the <em style="font: inherit;">“2023</em> Plan”) which replaced the Fourth Amended and Restated <em style="font: inherit;">2014</em> Stock Plan (the <em style="font: inherit;">“2014</em> Plan”). <em style="font: inherit;">No</em> further awards can be granted under the <em style="font: inherit;">2014</em> Plan. The maximum number of shares of common stock available for grant and issuance under the <em style="font: inherit;">2023</em> Plan is (a) 350,000, plus (b) the number of shares of common stock available for issuance under the <em style="font: inherit;">2014</em> Plan on the date the <em style="font: inherit;">2023</em> Plan was approved by stockholders, plus (c) any shares of common stock that are subject to awards granted under the <em style="font: inherit;">2014</em> Plan that expire, are forfeited or canceled or terminate for any other reason on or after the date the <em style="font: inherit;">2023</em> Plan was approved by stockholders, without the issuance of shares. The number of shares available to be issued under the <em style="font: inherit;">2023</em> Plan as of the date of its approval was 1,117,942.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Our unvested restricted stock awards and stock options are accounted for based on their grant date fair value. At <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023,</em> total compensation expense to be recognized in future periods is $2,957. The weighted average period over which this expense is expected to be recognized is 2.0 years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table summarizes the compensation expense we recorded during <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022</em> related to unvested shares of restricted stock and stock options:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of revenues</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Selling expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Engineering and product development expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,883</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,642</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,047</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,787</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">There was no compensation expense capitalized in <em style="font: inherit;">2023</em> or <em style="font: inherit;">2022.</em> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Stock Options</span></i></b><br/> <br/> We record compensation expense for stock options based on the fair market value of the options as of the grant date. <em style="font: inherit;">No</em> option <em style="font: inherit;"> may </em>be granted with an exercise period in excess of <span style="-sec-ix-hidden:c109416211">ten</span> 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 <span style="-sec-ix-hidden:c109416212">four</span> years.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The fair value for stock options granted during <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022</em> was estimated at the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected common stock market price volatility factor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">.57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">.55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average expected life of stock options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The per share weighted average fair value of stock options issued during <em style="font: inherit;">2023</em> and <em style="font: inherit;">2022</em> was $9.43 and $4.53, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table summarizes the activity related to stock options for the <em style="font: inherit;">two</em> years ended <em style="font: inherit;"> December 31, 2023:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Number<br/> of Shares</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Weighted<br/> Average<br/> Exercise Price</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Options outstanding, January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">408,869</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.07</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">202,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,060</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Canceled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Options outstanding, December 31, 2022 (<span style="-sec-ix-hidden:c109416474">167,886</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">580,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">93,860</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(124,550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Canceled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(44,723</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.77</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Options outstanding, December 31, 2023 (<span style="-sec-ix-hidden:c109416476">171,735</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">505,006</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b><i><span style="text-decoration: underline; ">Restricted Stock Awards</span></i></b><br/> <br/> 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 <span style="-sec-ix-hidden:c109416220">four</span> years for employees and over <span style="-sec-ix-hidden:c109416221">one</span> year for our independent directors (25% at each of <em style="font: inherit;"> March 31, </em><em style="font: inherit;"> June 30, </em><em style="font: inherit;"> September 30, </em>and <em style="font: inherit;"> December 31 </em>of the year in which they were granted).</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Since <em style="font: inherit;"> August 2020, </em>we have increasingly granted performance-based restricted stock awards where the ultimate number of shares that vest can vary between 0% and 150% of the amount of the original award and is based on the achievement of specified performance metrics. Vesting for these awards is generally cliff vesting at the end of the period over which the performance metrics are measured. Compensation expense for these 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 adjustment, as needed. Our initial assumption at the grant date of these awards is that the award will vest at the 100% level. Additional information on specific performance-based awards that have been issued is discussed below under “Performance-Based Awards.”</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table summarizes the activity related to unvested restricted stock awards for the <em style="font: inherit;">two</em> years ended <em style="font: inherit;"> December </em><em style="font: inherit;">31,</em> <em style="font: inherit;">2023:</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Number<br/> of Shares</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Weighted<br/> Average<br/> Grant Date<br/> Fair Value</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested shares outstanding, January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">262,533</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">123,533</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(91,672</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.04</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,944</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested shares outstanding, December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">288,450</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">97,461</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(178,636</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17,491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.08</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested shares outstanding, December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">189,784</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11.51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The total fair value of the restricted stock awards that vested during the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022</em> was $3,132 and $643, respectively, as of the vesting dates of these awards. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;"><b>Performance-Based Awards</b><br/> <br/> On <em style="font: inherit;"> August 24, 2020, </em>our new President and Chief Executive Officer ("CEO") received a performance-based restricted stock award totaling 75,162 shares with a vesting date of <em style="font: inherit;"> August 24, 2023. </em>These shares were valued at $345 as of the date of grant. Per the terms of the award, the final vesting percentage could range from 0% to 150% of the number of shares awarded on <em style="font: inherit;"> August 24, 2020. </em>On <em style="font: inherit;"> June 14, 2021, </em>our new Chief Financial Officer ("CFO") received a performance-based restricted stock award totaling 5,953 shares. These shares were valued at $100 as of the date of grant. The vesting provisions of this award are the same as the performance-based award granted to our CEO on <em style="font: inherit;"> August 24, 2020. </em>The final vesting percentage is based on the achievement of certain performance metrics, including revenue compound annual growth rate and diluted earnings per share excluding amortization of intangibles, for specified time periods as determined by the Compensation Committee of our Board of Directors. At <em style="font: inherit;"> December 31, 2022, </em>we had estimated that these awards would vest at 150% of the original amount based on our assessment of the probable achievement against the relevant performance metrics. These awards vested at the 150% level on <em style="font: inherit;"> August 24, 2023. </em>As a result, 40,557 additional shares of common stock were issued. At the original grant dates of these awards, shares totaling 100% of the respective awards were issued. These additional shares issued on <em style="font: inherit;"> August 24, 2023 </em>represented the additional 50% that vested.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">On <em style="font: inherit;"> March 10, 2021, </em>we issued performance-based restricted stock awards totaling 18,000 shares to members of the senior management within our operating segments. These shares were valued at $191 as of the date of grant. These shares will vest on the <em style="font: inherit;">third</em> anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on <em style="font: inherit;"> March 10, 2021. </em>The final vesting percentage will be based on the achievement of certain performance metrics for the year ended <em style="font: inherit;"> December 31, 2023 </em>related to the operating results of the business units for which these members of management are responsible. During the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2022,</em> we reduced the expected final vesting percentage for 6,000 of these shares to 0% based on the projected operating results for the related business unit for the relevant measurement period for the performance metrics. During the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2023,</em> we reduced the expected final vesting percentage for the remaining 12,000 shares from 100% to 88% based on actual operating results through <em style="font: inherit;"> December 31, 2023 </em>for the related business units. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $14. This adjustment was recorded in general and administrative expense in our statement of operations. The 6,000 shares for which the vesting percentage had been reduced to 0% were forfeited in the <em style="font: inherit;">first</em> quarter of <em style="font: inherit;">2023</em> when the individual to whom they were granted terminated their employment with us.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">On <em style="font: inherit;"> March 9, 2022, </em>our CEO and CFO received performance-based restricted stock awards totaling 20,493 shares. These shares were valued at $200 as of the date of grant. These shares vest on the <em style="font: inherit;">third</em> anniversary of the grant date at a vesting percentage that could range from 0% to 150% of the number of shares awarded on <em style="font: inherit;"> March 9, 2022. </em>The final vesting percentage will be based on the achievement of certain performance metrics, including revenue compound annual growth rate, for specified time periods as determined by the Compensation Committee of our Board of Directors. During the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2023,</em> we reduced the expected final vesting percentage for these shares from 100% to 50% based on our current projection for the performance metrics for the relevant measurement period. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $60. This adjustment was recorded in general and administrative expense in our statement of operations.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">On <em style="font: inherit;"> October 1, 2021, </em>we issued performance-based restricted stock awards totaling 5,000 shares to a member of senior management. These shares were valued at $59 as of the date of grant. These shares will vest on <em style="font: inherit;"> January 1, 2025 </em>at a vesting percentage that could range from 0% to 150% of the number of shares awarded on <em style="font: inherit;"> October 1, 2021. </em>The final vesting percentage will be based on the achievement of certain performance metrics, including revenue compound annual growth rate and diluted earnings per share excluding amortization of intangibles, for specified time periods. During the <em style="font: inherit;">fourth</em> quarter of <em style="font: inherit;">2023,</em> we reduced the expected final vesting percentage for these shares from 100% to 50% based on our current projection for the performance metrics for the relevant measurement period. As a result of the adjustment in the expected final vesting percentage, we recorded a catch-up adjustment to reduce expense by $20. This adjustment was recorded in general and administrative expense in our statement of operations.<br/> <br/> On <em style="font: inherit;"> March 8, 2023, </em>our CEO, CFO and certain other members of our senior management received performance-based restricted stock awards totaling 18,888 shares valued at $303 as of the date of grant. These shares vest on the <em style="font: inherit;">third</em> 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 <em style="font: inherit;"> March 8, 2023. </em>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. As of <em style="font: inherit;"> December 31, 2023, </em>we have estimated that these shares will vest at 100% of the original amount.<br/> <br/> On <em style="font: inherit;"> May 8, 2023 </em>the newly appointed president of our Environmental Technologies segment received performance-based restricted stock awards totaling 5,081 shares valued at $108 as of the date of grant. These shares vest on the <em style="font: inherit;">third</em> 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 <em style="font: inherit;"> May 8, 2023. </em>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 <em style="font: inherit;"> December 31, 2023, </em>we have estimated that these shares will vest at 100% of the original amount.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 350000 1117942 2957000 P2Y <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Cost of revenues</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">104</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">62</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Selling expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Engineering and product development expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">General and administrative expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,883</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,642</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">2,047</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,787</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 104000 62000 41000 32000 19000 51000 1883000 1642000 2047000 1787000 0 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Risk-free interest rate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3.93</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Dividend yield</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.00</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">%</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Expected common stock market price volatility factor</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">.57</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">.55</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average expected life of stock options (years)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">6.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 0.0393 0.0205 0 0 0.57 0.55 P6Y3M P6Y3M 9.43 4.53 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Number<br/> of Shares</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Weighted<br/> Average<br/> Exercise Price</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Options outstanding, January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">408,869</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.07</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">202,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.45</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,060</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">4.74</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Canceled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(22,930</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.10</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Options outstanding, December 31, 2022 (<span style="-sec-ix-hidden:c109416474">167,886</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">580,419</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.91</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">93,860</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Exercised</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(124,550</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.85</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Canceled</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(44,723</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.77</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Options outstanding, December 31, 2023 (<span style="-sec-ix-hidden:c109416476">171,735</span> exercisable)</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">505,006</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.46</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 408869 9.07 202540 8.45 8060 4.74 22930 9.1 580419 8.91 93860 16.25 124550 7.85 44723 9.77 505006 10.46 0.25 0 1.50 1 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Number<br/> of Shares</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Weighted<br/> Average<br/> Grant Date<br/> Fair Value</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested shares outstanding, January 1, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">262,533</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">123,533</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(91,672</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.04</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(5,944</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9.16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested shares outstanding, December 31, 2022</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">288,450</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">7.80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Granted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">97,461</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16.43</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Vested</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(178,636</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8.21</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 9pt;">Forfeited</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">(17,491</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; padding-bottom: 1px;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10.08</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Unvested shares outstanding, December 31, 2023</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 3px double rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">189,784</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11.51</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 262533 7.16 123533 9.21 91672 8.04 5944 9.16 288450 7.8 97461 16.43 178636 8.21 17491 10.08 189784 11.51 3132000 643000 75162 345000 0 1.50 5953 100000 1.50 1.50 40557 1 0.50 18000 191000 0 1.50 6000 0 12000 1 0.88 14000 6000 0 20493 200000 0 1.50 1 0.50 60000 5000 59000 0 1.50 1 0.50 20000 18888 303000 0 1.50 1 5081 108000 0 1.50 1 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">14</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>STOCK REPURCHASE PLANS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 36pt;">On <em style="font: inherit;"> November 20, 2023, </em>our Board of Directors authorized a share repurchase plan (the “Repurchase Plan”) whereby we <em style="font: inherit;"> may </em>repurchase shares of our common stock on the open market with a total aggregate repurchase amount of up to $10,000 until <em style="font: inherit;"> November 2024. </em>We are <em style="font: inherit;">not</em> obligated to purchase any common stock under the Repurchase Plan. Further, the Repurchase Plan <em style="font: inherit;"> may </em>be suspended or discontinued at any time without prior notice. As of <em style="font: inherit;"> December 31, 2023, </em>no shares had been repurchased under the Repurchase Plan. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 10000000 0 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">15</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>EMPLOYEE STOCK PURCHASE PLAN </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The inTEST Corporation Employee Stock Purchase Plan (the “ESPP”) was adopted by our Board of Directors in <em style="font: inherit;"> April 2021 </em>subject to approval by our stockholders, which occurred on <em style="font: inherit;"> June 23, 2021 </em>at our Annual Meeting of Stockholders. The ESPP provides our eligible employees with an opportunity to purchase common stock through accumulated payroll deductions at a discounted purchase price. The ESPP became effective on <em style="font: inherit;"> October 1, 2021.</em></p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">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.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">During the year ended <em style="font: inherit;"> December 31, 2023, </em>employees purchased 11,780 shares of our stock through the ESPP at a cost of $174. The closing market price on the dates of purchase were $20.74, $26.26, $15.17 and $13.60, respectively. The prices paid by employees were $17.63, $22.32, $12.89 and $11.56, respectively, which represented a 15% discount. The total amount of the discount of $31 was recorded as compensation expense in our consolidated statements of operations.<br/> <br/> During the year ended <em style="font: inherit;"> December 31, 2022, </em>employees purchased 27,162 shares of our stock through the ESPP at a cost of $197. The closing market price on the dates of purchase were $10.73, $6.82, $7.63 and $10.30, respectively. The prices paid by employees were $9.12, $5.80, $6.49 and $8.76, respectively, which represented a 15% discount. The total amount of the discount of $36 was recorded as compensation expense in our consolidated statements of operations. </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 250000 11780 174000 20.74 26.26 15.17 13.6 17.63 22.32 12.89 11.56 0.15 31000 27162 197000 10.73 6.82 7.63 10.3 9.12 5.8 6.49 8.76 0.15 36000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">16</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>EMPLOYEE BENEFIT PLANS</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">We have defined contribution <em style="font: inherit;">401</em>(k) plans for our employees who work in the U.S. These plans include the inTEST Corporation Incentive Savings Plan (the “inTEST Plan”) and the Ambrell Corporation Savings &amp; Profit Sharing Plan (the "Ambrell Plan"). During the quarter ended <em style="font: inherit;"> September 30, 2023, </em>the Ambrell Plan, which is discussed further below, was merged into the inTEST Plan.<br/>  </p> <p style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; margin: 0pt; text-align: left"> </p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin: 0pt 0pt 0pt 37pt;">As of <em style="font: inherit;"> December 31, 2023, </em>all permanent employees of Acculogic Ltd, Ambrell, inTEST Corporation, inTEST EMS LLC, Temptronic Corporation and Videology, who are at least <em style="font: inherit;">18</em> years of age, are eligible to participate in the inTEST Plan. We match employee contributions dollar for dollar up to 10% of the employee's annual compensation, with a maximum limit of $5. Employer contributions vest ratably over <span style="-sec-ix-hidden:c109416331">four</span> years. Matching contributions are discretionary.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Prior to the merger with the inTEST Plan, all permanent employees of Ambrell were immediately eligible to participate in the Ambrell Plan upon employment and were eligible for employer matching contributions after completing <em style="font: inherit;">six</em> months of service, as defined in the Ambrell Plan. The Ambrell Plan allowed eligible employees to make voluntary contributions up to 100% of compensation, up to the federal government contribution limits. We made a matching contribution of 50% of each employee's contributions up to a maximum of 10% of the employee's deferral with a maximum limit of $5.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">For the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> we recorded expense for matching contributions to both plans of $767 and $747, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> 0.10 5000 1 0.50 0.10 5000 767000 747000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">17</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>SEGMENT INFORMATION</b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">We have <em style="font: inherit;">three</em> 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), 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, <span style="-sec-ix-hidden:c109416342">third</span>-party test and assembly houses and ATE manufacturers and to a variety of markets outside of the semi market, including the automotive, defense/aerospace, industrial, life sciences, security and other markets.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 41pt;">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 and acquired intangible amortization.<br/>  </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 63pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41,016</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">40,219</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">51,485</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">46,437</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total Revenue</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Division operating income:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,189</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,073</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,544</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total division operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">22,806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,978</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(10,272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired intangible amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,288</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Earnings before income tax expense</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 63pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Identifiable assets: </i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,143</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,772</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,040</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">28,710</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">134,829</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,066</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Capital expenditures:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">599</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">495</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">170</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">374</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,291</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,365</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following table provides information about our geographic areas of operation. Revenue is based on the location to which the goods are shipped.</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,222</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">78,080</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,732</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Property and equipment:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,658</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">688</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,132</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 63pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">41,016</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">40,219</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,801</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,172</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">51,485</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">46,437</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Total Revenue</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Division operating income:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,189</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,931</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,073</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">9,544</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">8,230</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Total division operating income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">22,806</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">21,978</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate expenses</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(10,272</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(8,563</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Acquired intangible amortization</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,095</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(2,694</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Interest expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(635</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Other income</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">1,288</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">59</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Earnings before income tax expense</b></p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">11,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">10,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 41016000 40219000 30801000 30172000 51485000 46437000 123302000 116828000 10189000 9931000 3073000 3817000 9544000 8230000 22806000 21978000 -10272000 -8563000 2095000 2694000 679000 635000 1288000 59000 11048000 10145000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 63pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Identifiable assets: </i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,505</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,143</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">16,772</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">18,040</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,842</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,866</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">28,710</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">4,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">134,829</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">110,066</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Capital expenditures:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Electronic Test</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">599</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">80</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Environmental Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">495</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">368</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Process Technologies</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">170</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">543</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Corporate</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">27</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">374</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,291</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">1,365</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 32505000 31143000 16772000 18040000 56842000 56866000 28710000 4017000 134829000 110066000 599000 80000 495000 368000 170000 543000 27000 374000 1291000 1365000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Years Ended<br/> December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Revenue:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">45,222</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">49,096</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">78,080</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">67,732</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 45222000 49096000 78080000 67732000 123302000 116828000 <table cellpadding="0" cellspacing="0" class="finTable" style="margin-right: auto; margin-left: 54pt; width: 90%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="6" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>December 31,</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 68%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b><i>Property and equipment:</i></b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><i><b> </b></i></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">U.S.</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,502</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,658</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Foreign</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">688</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; border-bottom: 1px solid rgb(0, 0, 0);"> </td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);">474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,190</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">$</td><td style="width: 13%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 3px double rgb(0, 0, 0);">3,132</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 3px; margin-left: 0pt;"> </td></tr> </tbody></table> 2502000 2658000 688000 474000 3190000 3132000 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">18</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>QUARTERLY CONSOLIDATED FINANCIAL DATA (Unaudited) </b></p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">The following tables present certain unaudited consolidated quarterly financial information for each of the <em style="font: inherit;">eight</em> quarters ended <em style="font: inherit;"> December 31, 2023. </em>In our opinion, this quarterly information has been prepared on the same basis as the consolidated financial statements and includes all adjustments (consisting only of normal recurring adjustments) necessary to present fairly the information for the periods presented. The results of operations for any quarter are <em style="font: inherit;">not</em> necessarily indicative of results for the full year or for any future period.  </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;margin:0pt 0pt 0pt 37pt;">Year-over-year quarterly comparisons of our results of operations <em style="font: inherit;"> may </em><em style="font: inherit;">not</em> be as meaningful as the sequential quarterly comparisons set forth below that tend to reflect the cyclical and seasonal activity of the semi market. Quarterly fluctuations in expenses are related directly to sales activity and volume and <em style="font: inherit;"> may </em>also reflect the timing of operating expenses incurred throughout the year.<br/>  </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Quarters Ended</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>3/31/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>6/30/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>9/30/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>12/31/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Total</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,941</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,447</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,978</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings before income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,365</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,723</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,566</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">577</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">572</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">446</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,793</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,277</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,455</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.82</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,755,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,241,183</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,886,005</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,962,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,461,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,088,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,696,569</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,212,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,122,099</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,779,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Quarters Ended</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>3/31/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>6/30/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>9/30/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>12/31/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Total</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,081</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,771</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,405</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross margin</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,013</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,548</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,898</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53,440</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings before income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">655</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,039</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,881</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">454</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">515</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">577</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,116</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,524</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,244</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,461</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,617,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,653,268</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,695,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,725,662</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,673,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,842,592</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,814,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,864,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,928,220</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,862,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Quarters Ended</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>3/31/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>6/30/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>9/30/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>12/31/23</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Total</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">31,919</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,558</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,941</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">27,884</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">123,302</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross profit</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,052</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">15,030</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,447</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,449</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">56,978</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings before income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,394</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,365</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,723</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,566</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,048</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">577</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">572</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">446</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">111</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,706</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,817</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,793</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,277</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,455</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">9,342</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.26</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.82</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,755,729</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,241,183</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,886,005</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,962,679</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,461,399</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.25</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.12</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,088,664</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,696,569</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,212,317</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">12,122,099</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,779,912</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="margin-right: 5%; margin-left: 36pt; width: 95%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="14" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Quarters Ended</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>3/31/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>6/30/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>9/30/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>12/31/22</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Total</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 40%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Revenue</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">24,081</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">29,571</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">30,771</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">32,405</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">116,828</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Gross margin</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">11,013</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,548</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">13,898</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">14,981</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">53,440</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Earnings before income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">655</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,570</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,039</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,881</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,145</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Income tax expense</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">454</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">515</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">637</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">1,684</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">577</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,116</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">2,524</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">3,244</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">8,461</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.24</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.79</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – basic</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,617,271</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,653,268</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,695,867</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,725,662</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,673,017</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Net earnings per common share – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.05</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.20</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.23</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.30</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">0.78</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Weighted average common shares outstanding – diluted</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,842,592</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,814,799</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,864,540</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,928,220</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">10,862,538</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 31919000 32558000 30941000 27884000 123302000 15052000 15030000 14447000 12449000 56978000 3394000 3365000 2723000 1566000 11048000 577000 572000 446000 111000 1706000 2817000 2793000 2277000 1455000 9342000 0.26 0.25 0.19 0.12 0.82 10755729 11241183 11886005 11962679 11461399 0.25 0.24 0.19 0.12 0.79 11088664 11696569 12212317 12122099 11779912 24081000 29571000 30771000 32405000 116828000 11013000 13548000 13898000 14981000 53440000 655000 2570000 3039000 3881000 10145000 78000 454000 515000 637000 1684000 577000 2116000 2524000 3244000 8461000 0.05 0.2 0.24 0.3 0.79 10617271 10653268 10695867 10725662 10673017 0.05 0.2 0.23 0.3 0.78 10842592 10814799 10864540 10928220 10862538 <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 36pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>(<em style="font: inherit;">19</em>)</b> </p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;"><b>SUBSEQUENT EVENTS </b></p> </td></tr> </tbody></table> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"><span style="text-decoration: underline; ">ACQUISITION</span></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">On <em style="font: inherit;"> March 12, 2024 </em>we entered into a stock purchase agreement to acquire all of the outstanding capital shares of Alfamation S.p.A., (“Alfamation”), a leading global provider of state-of-the-art test and measurement solutions for the automotive, life sciences and specialty consumer electronics markets. Alfamation was founded in <em style="font: inherit;">1991</em> and is headquartered in Milan, Italy. Alfamation also has a small sales and service subsidiary based in Suzhou City, China. Alfamation will become a part of our Electronic Test operating segment. The aggregate purchase price was approximately EUR 20,000 comprised of approximately EUR 18,000 in cash, 187,432 shares of our common stock and an additional approximately EUR 542 in cash for assets delivered at closing in excess of agreed upon thresholds. On the closing date, this equated to a total purchase price of approximately $22,358.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">In connection with the acquisition, we have entered into a lease agreement (the “Lease Agreement”) with the former owner of Alfamation. The Lease Agreement will last for <em style="font: inherit;">six</em> years starting on <em style="font: inherit;"> March 12, 2024 </em>and will be automatically renewed for the same period of time unless terminated by either party. Under the terms of the Lease Agreement, Alfamation will lease warehouse and office space totaling about 51,817 square feet. Alfamation will pay a yearly lease payment of  EUR 231 broken up into <em style="font: inherit;">four</em> equal payments. At the date of the signing of the lease, this yearly lease payment equated to approximately $253.</p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"><span style="text-decoration: underline; ">RESTATEMENT OF PREVIOUSLY ISSUED CONSOLIDATED FINANCIAL STATEMENTS</span></p> <p style="font-family: &quot;Times New Roman&quot;; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;"> </p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; margin: 0pt 0pt 0pt 36pt;">On <em style="font: inherit;"> March 27, 2024, </em>prior to the filing of this Report, we filed a Form <em style="font: inherit;">10</em>-Q/A to amend our Quarterly Report on Form <em style="font: inherit;">10</em>-Q for the quarterly period ended <em style="font: inherit;"> September 30, 2023, </em>as filed with the SEC on <em style="font: inherit;"> November 9, 2023. </em>The Form <em style="font: inherit;">10</em>-Q/A was filed to restate our unaudited consolidated financial statements for the <em style="font: inherit;">three</em> and <em style="font: inherit;">nine</em> months ended <em style="font: inherit;"> September 30, 2023.  </em>The restatement reflected the reversal of revenue related to the sale of discontinued material/components purchased on behalf of customers where the associated materials/components were still physically located with us and the materials/components are expected to be applied to future product orders for these customers. These transactions were all fully paid for and legal title for the material/components has transferred to the customer. However, these facts alone are <em class="GFJY4-DIN-com-rdg-thunderdome-client-resources-CssResource-html-element-highlighted" style="font: inherit;">not</em> sufficient for revenue recognition under U.S. GAAP for such an arrangement. These adjustments were evaluated by management in accordance with SEC Staff Accounting Bulletin Topic <em style="font: inherit;">1M,</em> "Materiality" and management determined the effects of the restatement to be material. See Note <em style="font: inherit;">3</em> to the unaudited consolidated financial statements included in the Form <em style="font: inherit;">10</em>-Q/A filed on <em style="font: inherit;"> March 27, 2024 </em>for further information regarding the restatement. All amounts in this Report have been adjusted to reflect the effect of the restatement as applicable.</p> <p style="font-family: Times New Roman; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt 0pt 0pt 36pt;"> </p> 20000000 18000000 187432 542000 22358000 51817 231000 253000 <p style="font-family:Times New Roman;font-size:10pt;font-variant:normal;text-align:center;margin:0pt 0pt 0pt 16pt;"><b>inTEST CORPORATION</b><br/> <b>SCHEDULE II -- VALUATION AND QUALIFYING ACCOUNTS</b><br/> (in thousands)</p> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Balance at<br/> Beginning<br/> of Period</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expense<br/> (Recovery)(1)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Additions (Deductions)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Reserve </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amounts </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Acquired </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>through </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Business</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Combinations</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Foreign<br/> Currency<br/> Translation<br/> Adjustments</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Balance at<br/> End of<br/> Period</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Year Ended December 31, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty reserve</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Year Ended December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty reserve</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(315</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;"> </p> <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; text-indent: 0px;"><tbody><tr style="vertical-align: top;"><td style="width: 18pt;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">(<em style="font: inherit;">1</em>)</p> </td><td style="width: auto;"> <p style="font-family: 'Times New Roman', Times, serif;font-size: 10pt;font-variant:normal;margin:0pt;">Bad debt recoveries in the table above do <em style="font: inherit;">not</em> include $198 and $470 for the years ended <em style="font: inherit;"> December 31, 2023 </em>and <em style="font: inherit;">2022,</em> respectively, that relate to receivables acquired in <em style="font: inherit;">2021</em> that were valued at $0 at the time of acquisition but were subsequently recovered.</p> </td></tr> </tbody></table> <p style="font-family:'Times New Roman';font-size:10pt;font-variant:normal;margin:0pt;">   </p> <table border="0" cellpadding="0" cellspacing="0" class="finTable" style="width: 100%; font-size: 10pt; font-family: &quot;Times New Roman&quot;, Times, serif; text-indent: 0px;"><tbody><tr class="finHeading" style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Balance at<br/> Beginning<br/> of Period</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Expense<br/> (Recovery)(1)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Additions (Deductions)</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Reserve </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Amounts </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Acquired </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>through </b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Business</b></p> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Combinations</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Foreign<br/> Currency<br/> Translation<br/> Adjustments</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td colspan="2" style="text-align: center; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt; border-bottom: 1px solid rgb(0, 0, 0);"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; text-align: center; margin: 0pt;"><b>Balance at<br/> End of<br/> Period</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; padding-bottom: 1px;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; width: 28%;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Year Ended December 31, 2023</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(19</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">474</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty reserve</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">351</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(376</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">648</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;"><b>Year Ended December 31, 2022</b></p> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"><b> </b></td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(255, 255, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Allowance for doubtful accounts</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">213</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">5</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">281</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(3</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">$</td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">496</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> <tr style="vertical-align: bottom; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; background-color: rgb(204, 238, 255);"><td style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> <p style="font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; font-variant: normal; margin: 0pt;">Warranty reserve</p> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">531</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">473</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(315</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">-</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">(16</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">)</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt;"> </td><td style="width: 9%; text-align: right; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;">673</td><td style="width: 1%; font-family: &quot;Times New Roman&quot;, Times, serif; font-size: 10pt; margin-left: 0pt;"> </td></tr> </tbody></table> 496000 0 19000 0 -3000 474000 673000 351000 376000 0 0 648000 213000 5000 -281000 0 -3000 496000 531000 473000 315000 0 -16000 673000 198000 470000 0 Bad debt recoveries in the table above do not include $470 that relate to receivables acquired in 2021 that were valued at $0 at the time of acquisition but were subsequently recovered.

_!9#&OG;-*/\3$_$)2N2B@*&VY&BTC4_J-(@8_*C"P6+&6R MQ]<+T@B$KG=[,, MD=L+P:^L]6 -%JA@@0H6*#11LR/:;U*>+5/V2)-]^-G#-EH>,9>("$K<6F\Z M/7),53")JQ0Y0*,.C&D M2U P_2N8SNG\?<]Q#F\\ET?/+)1_)O\L\Z(*[-1 L.Z/"-T92=57G9"] MZHL(U?F*B"5-[KFZ=5V)$<:BP+W&0H3Z0IZR<57NI!/0M]TQ83,EI=IT/25, MH^;?F@G<_SM?[!.^Y,]U5'S2"3%D0$3X[R4IAD1DN\Y>#(#=1]WSV$10?3 M=3!=!]-U/]-U!UUYHGFN#O1E(')LA32[*=! L-BJ:KK2QX#PL17@[&C5\^:7 MB@\UN&D2';[.([Z0GWC\><731*4A4_E.BBW"KI1H\+@K/FSV.-CV]^M"29+J/9+TAK#D.CLG&U:0U(P( MTL_)%1?RK%<2RI=21[N091L^(Y$+J%4$7NPVMR;]7>REE![R0/9#&]H8)QR1)COJRWN.*9.BN[K\=Z+K&Y7O/L M3O&?EB*;FG9>J;VL6*.:6I[1ED*/QK;3HGI4,_DG6CR7I]=0W=C&*Y6ZXT81 M)*F;+R1#NU%5XZ4X5!2"/92%4MSN^8WYWE) MDXM2R#5:G_CUTKV4*@;?4EHUNBE%O)+R@HH7U$]^K]'P(/]$GZJ?.@%]TQD/ M+JE32^8?2\&Y:C9[(B*1(O."2I%/YRSN/R!N_.^%7ESH-Q@>W%9:5H^1$"%6 M/\XWE8WP\@L5,R\HR4NQK\?#!AXC(P6: 6Y J<7$PKA5SBX+!"2V:Z-CJU"7Y19 M!$7'3X&7V^H=7N@8)@R14U?71".F_'KX@9/T5V23Y,)X"X3^\S2@VQA$@,A_ MF09R:V\%$/ZOTX!O;P6$RB8>+^OK__X!EC$H;G1"63^#(!0V2JFMK\<9"AZ; M;.? B0.%CDT(=!8)"IT ;!)@;R-"18%E3A-$6J2*EOSZ2\>?$DB2"#Q8GDW8J9=DDCD#XE$(I%( M9/[K__JR2=$SSHN$9/_VS>OO?O@&X2PFRR1[^K=O/M[/%_=G5U??H**,LF64 MD@S_VS<9^>9__<__^__ZU_]G/G^',YQ')5ZBQSUZ6.^R)<[/R0:C__WV[CV: MHQ_>_.7UF\4']/'A#+WYX&''[^OG_ZF>IS]NBR;%[H/__%[ M\6/SZ$G3GW_DS[[^^>>?O^>_-H\62=^#M-'7W__O#^_OXS7>1/,D8QR)&98B M^4O!OWQ/XJCD;!SM I(^P3[-Z\?F[*OYZS?S'U]_]Z58?D.YCI!@74Y2?(=7 MB/W[\>Y*2O/G[]D3WV?XB0W3^^@1IQ0S;V*=XU7_>VF>'[S&99>D"_6G#EO$_D#)* M[2(_;=(V9JK"L&7,)TU:QGR-+*#3B19R8"^^?'U&Z%D_P?[YF_G)-YM<%8N,JHL MRJ3<7V4KDF^X?J_)<)BB!:7G!:R4K1(DKSI\T&7-=N=IEYM*3#IE?XX+LLMC ML:A2TFS9Q]G\X_TW_[.FC2AQ)*BC#OE__;Y%>]J715[S.79V2SQ5G!P2SRG'(=,ZQO]^TCM]&>P_\BZ%M7[%@=:-#C0;47> MOWA:&21BG?,.1#FC,VK^9DX5]R;*]W.R&H561H^INFB;MF]+U*$XO&CI-VB. M[@4R1%;H14P'XX$=FAYV1LO;7N JB\D&/T1?[C!C99(FW'9JOF;64%;@MSC# MJZ1Q^=V,+_$R:*[6I1_G*[JWF#^SS<5\@Z-BE_-?08N0:F-6 M5YPQHEZ6EQ_I\L(V:8COTM"'#HP)K27*XS.Z<.@Q_65ZC.Z2XK?+'..KK,1T M_$M?'J,ANE/P&/7A@=Q4:1-&@JP8-6G T M$UJ*= =M=$4"C80K,?_C/,?/.*-K(^/%G'*IS*.8@OB)']/U+9OQ.@T"4%A=4)R1@,F:/RM8@!UV)U<]S4JYQ3C5IGK,OTR1Z3-*D M!&HV]>:L"M\X62_R^#.5QQL&A"[1' AZWP*9D(AJC-*HU.JRWI4@O_YAOL2/ M)41H^U^U*J"')+P(X^L?J#2>4Z(3$CP)IT>%;(A]_D]MSI,B3@GS$K( @K>4 MT&]'\J;SBNF92D_3KN5+T$:4.&JIHT^,/N( _K^P1R)#W.X[X1AEH3.E]7HN M3IFH9'^!K;C#3=A58KVD_"BSUWQ#48O=I%;3D1$85VX*;'4F@#_2;ZBXLPLG M2[J[;KVQ\RT=!9! :C5I5T"52/L16':(=L_ S#D:U/5THUOZPI0D6&_(QB4: M, [.)/Q/\P(_\<]))P@<(M@J+=F5YR&*?L28.7+N!8:P\?^&PS(NL^J\]F9Q MOMT528:+@NJ.QR3C@)@K.,F>*$SZ5Y&PD OV=;W/W%<;3XD]:MX@T%J%$W8M MYO5.?4MRKIK)"L4-,O9G"VU8Z,-WO)3<61OH?0T/=?#-4(L0'4"<-?Z,_:QV M<02Q]"W(,;$_1LZ6L#_/?]]%.1W>=,].0 J2)LN(W01/CDZ3&U[D_<4[QH5?Y!@5MHOPW3!?_ M/(DQ>FX H5444P:]_(BL$6EP?9UO:(A=W+.*UWBY2_$\27@TIS#A600-U41I MLMJS*P#5;0!=9YM)V];N7P$P.+^+56%"5U=T3?RE1L5CMOZS057?2YF(W\YH M, ?O:1F/D+?UKG,T.;QIE#\(7$U.&W0MI'+*D#V=#?RE)"?*0"=X&A54G;.B M--#)LH)4$'56&2X"BUU)-H12P"(,Y />/.*\3Z4//PE1T/TMNI;DEFH5^8(^ M"<(C1VX..["LDFWTY#L9/$-LG&QHB_,R2C*V3I0$16T714#,=_X7C1%Q(1HL M]+>!J=:>F]6'J-SE?-+=K-Z3[.D!YQL6"?# UINQ,VMH,]"MA28Y;_8,6:$6 M$?O$,,T9*!Y5@3YQ7"CTH3=XN(BM,9C$+?/&\*+/QE&Q%O_!O^\2:H9A9FPQ M(XS=#Z%;/>9KX+\O11X(+3^9?UCA[K0;P9_@57CV<&=^GU&T,_Y?=-'VB6]= M[IH^B=]?52E#IN3$"R")=B_A6Q2O22BASSAY6C.<$<)X5[ M;:-'/YQ:4<,Y3?WQ:X4=+01V=G+&_(G<.5:\?#VA*4-V%0)$,/PG$^B&.%<_ M4,1E]WF*.<=LJ\ZZ]Q@5"6SV.\;@*76!$=;0&0_8%9,6?_W3DJ4"Z;Q!%;5/,7/.*4OMV$E\X.P MDH.NV]42SG!YTAS6\4] FYR)/J$D0[1/!TIDA=ZS/M$&9!$X![KH96D8=[)H MH'4<"Y@WWQ^_=:9\HC/R--"3)VG5]903%^ZTCT4<]P%\OD-@W7'D71R3%*+) M.K_1/(_CX0R/.N$,S!OZ>BB(QRE!D]@=)\!\@VM^S36=7#UD-\U?1PSKOXM9@& MSL76JOWN4!:G?^&-Q4JQDGI%F?/ WX*[_AXH=VZ$*^$77)1X>96)DJ7L?J;W>?JWJ(>!=G M2'02=7I9)2DL:3]1U=$9$EUERY#H[*QS-/FR+D+:40DV[D9:E*^78_5.T\I] MV5;MUV?%_MZP#7#+LMWAXRL/:N*DOP'=.F36O(-HD M8GQ!T088G]<7!_8$''3']F_2-G2 3^^&HU5IZ+W_:'^(0U?E629%]/24XR>A M1>B27[T',\SMDPU2S6<0V?RNWIRF[>Q 4*P5"](=_2F>%7-/ M@H4#X\-VW)\:"WH3/#H6P!R?'T-[[_X0>2:<@E,_2SX25]B!NL 70P:O2D)OZ9#T$ M/1H MAC=E3S1P;$>\SR8#%J)4K/P7R.)AA9*W K.CB,+7GAW\;8KKD!T),"I>JSFL MKNO:DEU)?\F6+'HCQ25S"/*T>3E>)B5HEH%:=E(55PF!WZ*Y;,:TJ*C]QE'Q MI)$Z+@-N(1DZFAW[R3^:$.P_LDJ0)] M>C(EETVFY"E/%< (*\\7Z+!]!3= WM$FRJ*.:ZX3>50I,_F/YY1EX2Z% /%- M[IZ(9C]#4\N^[ MHF0,N,;ES>HA^G(KZGPNRC)/'G>\ L\#N8W&LJ7YQF"2@\T75E]!'%X[!I[L*,]U=@&Q[>>9N>;0C$-SG; M4+,?KK6Y@//?IJ&1C 6XE.K(--3V^+R>)US)SLOH"]U*XRAG!<.*^2->4;5[ M^"/(YV- P*[7!P#$C]_G-8^Y8]31 Z-./UY4X-!;#N[PYTDZ?DR&>=SU8SQV M7\$"3\V@%4Z8[ZN8WNH. 3>YI5VG$ZY50X7EOY=V$P'SLJ[#I<;7HMY^:*Z[ M/N(,KZ GG.#FG2[HXS""+>?MQ_:Z]EN![=L7L9QK#+'V8JX[;E_!4GY-LF>^ M&YC>0JX/;7++N'H77G[.+_6^3BL#F,LQVO(-]GT9Y:6>>_9CA4E84 7J1&:X ML<*^/JY?9,N)\_S%6;X C>S%[H4*DR^K=XG%M51N65098%A>&-,P6@MTG-K! M&GB"&<3G%49N$E?IC5C2HZD'T-H8>VT#&3R@7X&EW+A!:K]Y*,_6*8+)V;TG M2%^^>7O2I6G94R8<_UEP/&/I4K"FT=1Q#F:[S2.U?%C5KJI4-K6)Q)]?FR$D MGXD^_7RRP?9V0K=:879=27A,N[\99W M5%GMQ6M6CO-54"EN>U%C]&;7I.)[,?0-?KG-? -YV9?I"65I*5]B5.;XBP&$]J ML 1\!=Z8QN5[S7>=X0XG#^E/SA-SA//E^V&..C0M+XPQMUT<&*K[85XHNVR> M]'W%3BN9RO)[1-=1E7G'N3$II13,?#Q!-$V#L4T7]=)-1+D(6#4* M1\;5FQE85Y-99,NVE@P_:[W:;*,D9[V36' ZKP*-+Q42ONPF%2R0-=Q-'P'W M3@<+"Z$6S SQ6GE!EF MF2,F3)[DPC??\FNI:UPF<>1S'900GM"R> CPQ:R2 MZ-7M ?"O9MF428SC571(#$)-Z5UE7U?0G5JSBK2\3MP13-.9J\WF4TS:%VW3 MJ@J"\7S4&MVOP+UYF+S'NW>SG_SDG)N',/6G^#/.'XFV!5NGP(+'.[TT/DW- M!WS8GZ^+U^ 2\CTK3F\)^1%Y]H2\E^QMU2B @.D;O-D7_YI7N G M_CG)5B3?B-6W[SN020ENWJX5J0W#C^'(2E_="Q!T$C8@)-].TE2$#_"X=6@X M:E^!07B8LL>[0=A/?G(&X2',EV_H'/9G6H8.F-X:2*9>@$1A M00V19$F_258)RYQ87SVS:(@H-._#$!F $=H0N>I JR]*OB!#1&6 H8:(\JAY MGC,9+@\+9N^R:+7B-P&8EZTMEVUO'@%)^IA;FM!"S[=K7**#TO$?.W [A>-? MT!R$"@=T7AJ-N.>YRLI&I,DSQ54ID,?]_ F3ISS:KMDQTYPNX)'-F0HBZ&.> M:@$+/4MY)12.MEX3'_?H70*1)4\#=-H2D^UE5'X*VH*KS4 %K_[Z*\ MQ'FZGU..%"1-EGRA7"59E,4)G8ST<\06T=V2W3Y7?!ZT9GD"8W<] M]F6QW__9P**VGH"E],S$%A#7 C2T9'B1"L,YSW1>\4 :*^"^1M\[1<>?ALPH M>:L^+*H"/9".%=02]R_ "NPEFCR;_M'ZP5'6(EO668<>"/NJ4P/:S4UR('G? M1^N:,"=_M*[9'Z]'Z\YY#8XA?*L80_BV+X:PB1(4'>,K>)/BJR3\ZUFWZ/H, MB0Z^W,-[Z.2V<7AO)$7.5O7%8U'F47R\O]-\R^XJ7[<>=+5'GVH8?AV8NIP? M-P#ZV?EB#($+D;B=>5B=KOA2.H&6]A,\KJ=#G>4)MX1?O*:7#ZI%E3XR4H:Z M^S8G,<;+@L447&RV*=ECS(\@;NDXKBDD=D]-'$?T*7' ZQ!MKD'&M1S74! 3 MI3K>L"#I$NVR);5>:GC5 58-D-_WT[$KW?=[26(>Y\?E4;G_#VN,H@US$3!/ M9AP5:Y1DJY1\EC$$UPSAE_70MF8(N\GWG?_%#R*QQ'0X7LQR>'C7Q'L5*#,4 M@9923;0O9;.LV:T0>V;GG ^\=3Z^8#=#=1]1U4GQ"#M,Q8CUD[O,OX[Z0X:Z MP*(%9B1FWE1_=W&ZCU)\L[I?D[QD1WA7/,JDS\\.>QFH:-6(.#^&HI0+<5>$ M$DVY%I:6 M)F)$T2=!=L1IXPP\S&2_PVE4>5V/^U,%80:PPP>E@RASS9]Z%>M"\4 6\>^[ M),?$EDTVWX8>#\ZF_4]81JJ8J$48PN^L0HAPE\'F$MT>.7H2'R2[+$ MY&H3/279D]P,D3\%,4).6W,M IPBJDC"#1 ;P(W-CV?>ET2@"&!T#,@"4>13 M0)5W3C91DBDKO1*K@UY\RTK(.SI9T:0>Z$1%$>5+ M.4E1[$Z($Q1GG :7KJGC1$@W,O!S?>P15<<>510)IMJ.P@.==[Q(AFH7M_'& MSHD>'^DJ/(O'1B!1,+0)WR5+VG.0DXUQ,'W"\SDA*GI(A 59\!73*--RT\P.G M+GG4I6]P]F2[2^;'4/)>!CR14A0J F&KC3#-HE";':,/@T,P^QKU$G!9%);F M@L5N&,^";=6SL@,F5$3DH+@0/>9YVXN?D8S?/?@U*==U"K3W2?28I$FY'TXM MH/,JL0L)3E8*:/%KB+2F2LN#^H25>88IBB:JL:)#]DIM.PO;I*EB";&*T MA(V8,/?%N,$N2;["2;EC:8[X;;4DYRW(PNQ\.,>L8 KD,C/"[CP%2D2G2,HR M-?\7\CS8D2:+_@B+(C*!6J'%>5+$*2EH=\;2[,$:L5X_M(^8ZYDW6&"S0"TB M]"ET3CW@*"E5W!QG_706SL(D&MW*,FD?@:M%T1Y2W^7")G2B$9*)C@[D['5I MFJ:'@QFJ8VBXDAAO2O@A^H(+"IQ=JA[V$PP\"51J/2VZGC?G=.-8E$G,K8 5 MR>F 9"C)8OHU*ADSA)>3X&@JS@(1*B%7 NL\S.:BMA7 MMI]U(S VUQ4#*3 \?[G'\2Y/RKW\T*7_"(W/48H* M0("S$\FH$P76>%NNZDP5%<=J!W*"BV'31_D]X*(PVKYKT5_$<;ZC(O29J@YQ M(O*(,[Q* EW<4NI[N8/%H!F0[M0GYSR, MAI%Ħ$>>2+'YK4TW7OX&].E[Z;^SZ ; DQ,PV$%UB:SQ\;OUY!1FEK=OP MP_!-?T^C'K9NHBA1R,.T$7X2/29Y3';Q3-)GNEZ=Y7B9E)=1S%>LWM5 ZQUP MVHN!MMWGOJB((T$=U>05M;FS!!@J_"8@)D[G[%;]4J?3>@%3*P7T8FO^3**X MCP7NV;U0GXE2.SQS'4_8KER*8>(,LG-!'LZ>B0:C>RD^9*G*D/FUL(/E9B!1 MH/Q!Z)6ODP:=[PF/+81PN0$'N$G4611(2@9SJPT]:D52_.14.Y&5D.G4!GDJ ME1>3-&K&$G-3KNF66QS0*4=1J+T$E*+AQIV7=&+4@PB/(E,)C%/^PI#S:(DW M4?Y;_V7^L<>@ V/VKE(U$E3?^DHV3-(GWS?&FI(RBXM/0A.+] MK7I+(=Y/'I0TW%9/ =ZE9>-)Z-D,)) P4!C,D(TV35]APV[\L=8SRIC?* S M&I<\++C.VLY*MMCVW6B0].W&48 V>8^.0A^\^BZ<\#1,R:FZ*^+P7'0&\=[, MVA*&XPR>FO=#9T+:<(1H2X3IT3K=$MVL[DB\YIEQ%]F2'^S?K*[QY[^2_+>! MTW2M-T$'Z$H4G.]YV4:7K%"#@Q\-BQ@:^C7%@A@8@W-R1]V$'HUOZ:]85(U; MD7PC%$'>GIC'O0PICAD2XI1<3R2)P0!,WWH1542OBH('98O;3K;-E2$:ONV3 M/BR3-TCZ0'NU0.QP+8S)(; C ;ZM:\N%!Y#9PI^%#[^'CL0Y4RQ_<-1%[NE2K:34+EE61*MQ"'WS&[ MB=C?MB\E)(K?MN1G*&1>3#5VG]Y25.'A]$U\$2/!"O:R97WQ'"4I"\2\)#D/ MR+=M[2N2\VWXC\":_!Y@!+_7[8!U7H;9&5PWT5?5'J'I";_+(RX\O=AM@NH\ MM+%CT!((0U_D(EU%PMTD]SK*GH'X%X_;1?;UQ($]@ MTXO&>;R)G00N,Q$MND>?JG^5,S9-E(NP):Y3GX*M:VTL[59PA;F#.IE>VK0P M_R5RO@Q/-RN)8!1&?RH+=*MZV=G3X'TN@Y;<+-1]%,,OUC/$<2$.C)\^AKTR M9C)LZHOX^%CXB[*H+.('LHA_WR4YICO8+<[+_2T=R9(5<:+?;C<#@1;:#4!C M+90)^:IX&&T35EL6?]GB;"FJ7H'NCCCL&.RD2AW19/K[L^AOAI]8%.J#_EZ] M"4&G*_FV L07"E*V6$[R:ICI++,D\==R4Z2 M'LCIP5,GG[]T_;75,'@Y-@7@:[:;(X5H@1#\ ;CP/F;/+.9[66?IH-J!)2/. MDYA_R4\ZN):HDJ177Y$JY4?H(V2+TX"X&SMOZN::NR+XVIQ-W<[_HJC/&"\EM4YX__Y15B?0G-+PP0=D/"M M[7J@3%[1]6#VJN.L\"R,W<;_017VJ9ANMJ>0#6TV.L:A J_S M57NX7@5"CI7*:@-4<.DDJV)J._!FW%G)07>_1BWLYKI>^!)> MCH1!7J# Z@@;QF+5>7ZHQHB*]65*/A?U5W>G><5T7H%$28TT[242> 2#=LR2 M]3X!EM(6 V(@$$?1R94UC8[!(ZMX)W(6%[5C5@ U"I9MCYF#%:T8O !A4:J3 MA4"8.GTW<->NN&,5S@MJ7<1LC)\&)-T>.W?N,V?#[ M"XYL,#PH7H 6[QXM]E)Q'1O:=W;?; MIAFJ "&***QL0H9G_.AJG.?^)'BWW:9U/'+EG+MJ4Y./; (UWX9*KAH5Y]M# MYG*M\S6P*ZQA-H>Z/">&C/1W2,KO]\D.-P]^A!Y*\D9\N2@%-8A/$8JS)'1@ M]9R #^P5%/F'JN^OO%I2P4U62=1>@0USM'HHBF28&9ZMVN$\R[W/&-FOGC(L M5\2F8*@.I%8>8(D_,:!\8S>C![QO?8] A:#3E',9H)^J:^[A/'"]O",J#/$N M 8-.N/Z'#*7 CQNN(PA-XBZJZ[SW.'].8MR_![XFU>5@OADNN!G:_?V,%.4U*?^*RSL< MDZ=LX-:*&R]<&QED'(!N-"7'3\%9+K\>K05Z'5C"H]-L2[7&)6K0S MM."))(.H*?$+#\G:=I)4\2R=65//'F1V! JY/4S: 82D@H@ MYUKIU) .\ESQ)'S9$Q(9L.HD\UAY*60R)C M'CLVY!P2?IP $:$F\DMLC=D-]?"@)B:+=0+]L4;2+V] MFI359(GO84VIZNX .H&@=:=A_P*DBC ]IAG>PJC"8 [OF+I,9/4?HA*IEJHP9,D]\W3G Q M=H53ZUUH?+4*#=>2QT&@"@6W8@]PA+\_J3<2Q(B]T[);%RD7*?K7S>I8>S.] M7E2Y6]FWPA=A8J#"J;FT1/513'Z(MP;5UCV4(Z_@)0".4-NY:\FC(JHR]*T6>. M!$R!M42?7_Y$J7$0WZRZ:IKOAK#0R">Y<49W(99:A0JE&?7 L>OA=RZV1H\X M&A)OD^/2N%HD*5D^[C-5[N4KJQRAK27WDD&\#[>_&UO+O^^*DAM[E2GX0.BNZ->D M7*])NDRRITN2]_=-,E$MM B]&P:G[.U"&1PBZ&J7%XX<%A\#>'$+5/"L-TO, M_0D$,0C%:L]="VW)T:A$53D246^4S1J1TRKB9]AAKI)9$'?B8,1"7Z#O5#L: M3.[[0'$NLJ72C1>7I%QE_ 9 +)%#R/BSC> M;7;!;E^9YMBH5;;H96'7&%J'3;7=IR=]=]&>6EGJ9_ M&]&/,2BGMYL^7&2:[@VE'OA7#9+@"!VF>4Q$>H+DXDN<[I@OI+YO)IGX.J^" MTX^.DW"M!#J'8E%U*)9A4#RHF]X K=(CO18HB:J&!!$31AI>8OXURO&:[ KF MJ;A9K=B!Q#:*^Q-7JK\ N9@\V+#KJ= 0%X6>.'G$Z2M&0;KO$.Q*L;@<0R=# M25!O)PN&*<"U834Y(OJ\G()-^2Z7NU=47[-O5_+F_>YY.,E):&1EMJO9-3V\ M]"9X=[@H\R2F.ZM[=I8U&- ^^"Q0Q'K;="U7+5'$J8:-3A]F*]'BE?\[8 S) MS9:M(X.R,_J\Z3VLXW:#AZX(,&%%:YSK?3=WAEEI:"2VP2O':I!'\@RFM]%] M%V(ZJM)P+E\5#FI;]83/ZH8]>>TH/&%-&3WNTB@_REA3TE^2X_UE #-36_R( M$:N]Z?)Z,WA)4+<1W^791D Z=\^@T M;TZ(5_!5.J((+X0 ME_V%I,[>T(U2R:;D2@!"<84(E2TD%+7Q0T%6/8 X$G.>>Y^NMW24UM3^J"HH MLXI=+>-'9JK2NX:3=)"&KSQP,U3#0"T.M)B(A*H-0X]P:O#6HY-\B5?R7:ZZ MPQS6#-AYKD?.8^#)R:%:TF"%'ZRY[R]L(=7%-[\!#HI8(!,GWM]@D8S;OMK>,Q@>[H6Y0')4D4%:OOBB22Z"]UWGEWMXQX M5"PY37SY14R\D2]CF_!?ROP?,NL#F^O2*3T4V*+VDNTUU$M0BQH*JPL/L%^ ME52X+B!KJ>\%2!JHH\-%;Y/H0Q2ODPSG>]4)-/X"%9C=Y;_:T+GZ+"X@#XG3^ O@-.*RAMWG#J\HHZ1#.E"6\%'N$GV6 M^9,FDCW1;1/NHF M6^R>=D7YYB?VAOR.E/[;D*A7=2K>8_-_J=-M94B@06]^FB$&"'Z=RF5W8=&O M5]F*Y!L1/Y>+I%OLFA4+?5)Z2(4E=0.?MR5_&H?-?Z7>+F+2W'G[5@( M J@4]=E&8 ,4P'5TE=&]!Q_QNZ3X;":P0!=*-LZ(D* M=P+H/59/.(_B\9,7E5>,]=YITQ[U7DT\["&,$I][]=X8\WSF@SZ+BC7=)CPG MU'1YN_]8L$LD5UGEJ%Q06^:9KOVX6#P6'+)$YN -P3-+:Q)T+9]GB_M_1Y?O M;WZ]1Y=W-Q_0U?4O%_J7JX>KB_M0>8>A8T/L,=QP+;_9XIQG M,N.A%'>839KZ$SN:[5O<5=^!K/9C;3L_)1G: MXR@OOD6O_DK_U4J![JB#<#=.7Q]9WTF-47P?PHI0EC$"XJLE"YB?TM07T%F4 MY&#.'O6W3.QD>>N^3.?JM++)-L! :%1Q]=0W^+2A+R4Y[F;F69&\L;FKD\EM MW?LM?3^@&:X@;,>6N2J774VB\6WER"M6IX_?;6?_W#'=B5KKE/$I(SM:?"DS M960#J\14CRE')&<536EU7-Q&>^90E>PU "V $XTH4_*7 \XG MZ>Z8;2]B?G^@SF"5<"S,"X\+M%7IK+,,#OJ22"PPVW!!J\)U>"+,F^P6YSR. M*6/YE%E4SX"[5.]-R/*F1L'U;*L#V$2NT)L,=8"@"@E\M7/51^-%KPY/$]4Q M28:VG6YO!+@ "Y^FU!$#-GN\SE-2=7BS.LOQ,ND/7E-Y%'R%Y[1)]Y=W&$VV M;1=4PZ;9'60JT>%40,NIMO"J$Y7W5AM[[W;/K;NNT'];)U@5CSK9GU#F829+^AQPMIRTYVMVG!"&S 8+Z $6W@-[I1,W M@)5ZX&@6R 6"*//)8R#B8]G&Z_:$W(P_" XZ/&[0EZ"?4H;=Y#?'#SDZH60[ M$>(SQ#-8J$0#.8N7E H&4>>6-X%O[SBSN+=%QO]AJ:">HY1YRZ]ICWFA$=GF M7K\!X 11)^0Q$T",\S)9);0K]>69+2F2,*F_ "/16\-/C[V!5//';%?@Y5N2 MY^0S73;.HFT4)^5>7'A2TME*+5A1YH.4PFCY04CFZM]RCVVL"P(2:C"A&M0L M9,%6B$A*EQ$-KGN04A".M2YY[CZ7Y\'QT "'K&I\IS F1D:$/L0_0EV>PVBRS; M16GWQ^(6YW7< <08 S1LUR#3 !#8*-- :M$P<\H?N\99!14)K =/%"QHM;;> M<."]G+6),&ZG@4?O12@<^FV'J&1%+YX.?H?H&XT&W;B:!@A/Q,TT@-"!B\DJ/QRY MEVJ,!P\U"H0=(349>?Y0U5N^C?934BPZ8J_N;U(>NQ>@1FY6_$?KVN2H7>]* MI:(_?=U2 ?6K8L#<":9I%)@T.=5R/ >L:)C>H?.F:/K/VQ?E693G>PKXERC= MR5R"6N\"%882#>=YIRAU[AMD?G%>8ZW"$41^]=A.C'CI30XOHR3G]#_@B.51 M84?*OR;E^F-&'@NK+2?MW49*] MI_;+51:GNR6[[GU3KG%^1C;;'*]Q5O#4F.Q:A$2V@^,!SI=@N#WE?;[:;%E6 M0KJ U*D*1&!0O$=E'F5%6F457OY]5Y0*M>M>/!=AYDVP#@;1F.$G,YD F,G< MA!$ 13P?Y$+UR/O6;L9(Z(2[(2,!9.>FC+7> K84G':ER4N4JG;-V]69,8D; MO$*CQ-C0T[&-L 7/R,$F[$[*7E*!YV4O)HM3TU*?P;-SHK-R6.K&)Z8"6[W- MS45="^.2Y"(;"EO9!S/7J+P"G'M#3;N>:_<79^@^7N/E+L4S]/K-_(>?9Z@! M-*OSVS! 89/<*/&?0)AJ7CIH] AMQ#LU&('CE@BP-)%=,+X* -E%#2D8%)IO M-KW0QT?GPS[IYBR=)2%]N0R$I8"H.;4D:1KEG5)N55K6_ \LHQ'GXJ9FWD%> MB)*@J#]C!$L3$:08DR-]1/R,M5=3@UT<7-ZOHQSS!'[,98"S@HO0<"RPWLL& MYLTA ]8L9G0QN,EW>3 MYT+J^1EB]W2:<3T;."EXNB,CI/ D_4FGBO@6YV55Z((O7E2;4VL\H2M<05L6 M*8YHR_0E^B% GJ,^F2!C[ .M&@6.OWLBS]\O<2(6#/I'NT[0#W];4&XL&4K!ZB+[(P@/$W MH(?_\I9]K?L#$""+O=4> 9+S'-!'.,J9)@P4QJ @-@3 .4?*\(Q=9L]Q=$:6 MQV:Q[&> *NPVXSRJA=)"C!ABU+QKPEZ.D3$V&%IDW/9[/+;]%GG.:GTQS?MV MWSYR&^W95XO/4;Y<+)>\0&^4\H]5XO.[Y&E=%E4@5_1T+!@^24(L1\?0O/C/ M'/=!V\:='$\!^T"Q\WM[NO/K= ,][E'WN:HKB(.?H;8WXAM4UWL0'6I"0;\* M%@/KH[7'TBE7TSXCS;I*^ MQI^K+)L4TVU.,OIGS+M3W)(TB??BO[)Z@J;- &US77*N%P.*![6 T"$BJFXX M&O2I^E>Y J$CXQ<\6,36"'@3;UX;[:HH=GAYOF/Q:W3")63)0^#:?!C\*3XY M+TF^PDFYRZ7Q)Q9:! J] 67G)^:\@)[ A@0X)-#-$,+I:JWNH PR M&6R,)W$P2-ZFR"W%EPN4=SA.HZ(0:1W9XM8$,I_C(LZ3;=?$.)).:#/ R:!+ MSGW^HD,0,VZ[1GD5*(M:4)-9!L C1FP-@[^L0U6<\DUV'Z7X9D47+.:+W[/3 MTY)=1]ENY)>@]5Z&YB!2(N++\:B&!N*#M-[/GT4_,_S$"P1I=9='<-&=Y3(I MMJ1@B<-7:%L!XE>NL%I7765@TA,\8L;E@$' /$8ABOE-A#.J-,@&Y\T= \FL M!+9B+11XD)IS[VE%L,ZZ+&I_+?$*YSDUL'+\C+/=5$H_J(W+8+"L!K/];2W8 M9K^XV95%29E/+3W9AD'V''0;<-R>KT7AA#!$_UM O^7FQGT9Y:6>NG\;I;S2 MZ:LD$_ZL8B11ON,N7&2:ZY5V!USMF:0B3939Y'%_4ZE%ONE2G;6*;X%W+X.M MNY[1#7E4,/JS2I@0:2$$ES'5 2! KKHZJ177.2Z3(HY25HN#3O)S:IGVG=J. M/ HYP94TZ=X>$9?G!&'$*"-*&C':_L]VQ_A*=)@5J,K#559BRO#RC@*Z6*UP MS/*H2L]ZC=JP4NEAA%:86@\CH,RK/5COM8UZ#S4HQ%#-4(-+^=332\4'5>&4 MUGS0XGW S2U=E;91LCROUJ8JU'>1+?D-0!Y6J7[75:R$'R\7 MS_3;)\S*2K#C4J:NAI-N0ILQ+3.I2,[U3*\1H$A 8-Y9C@'EOJU)XQ'IJ_,( M8K.CWD)2>!>Q7I&VZ%K*:<+UC$:01I^U]PS+.6:+% MKD *[XP4:BJM^Z 5I<4:="TQ#464,I(HIC0GH(P.>"E5-Z<,\J)0V*9:39V< M/&FL3)H6?:L2[OR8@B(YY6FO&I$PRN,Y"LEY'=@Q)2)_$'R2 MLD*]@;7( #.).H>\"4E#_X%EJ!N+1AUY&B@NDE9=RPPGR\*)BA)]XJ2#1PZ- M\9=H,LWQ8G1;G[9)'/&#SQDL1 ?M>5N&*E,VF/M]F)M$F46&EZW:P,J;U<>, MW6JH+M\7-ZNC0,RK;,$2<47%^BJKKC\LLN6EN)Q-_V:>Q;Z4=,[I0*Y5N<#C M6G9;S"P":U>A;DXE5RAO@X?YB:7VK9UI< 5V5><.;^FO++(>E6N,GEDH<96# M6(]K*,E0A#*2S7DJ\:3N'G<>KNH.HJCI88!;/4ZG$_$F#=/P.=[AC4@WP7]D M=MQKB,]QH!D7/L<>L5U3F, (\%"I.B-' M^>_(7+O(RJ3<7R8IOM[U9*T9>@1@I!TWY5K$!#W$"")!T;ME)N4>46&)TU&_ MV.#\B8KB 1&>8OT61:H B: MRR@>*]\[_+B5N)BVV3 A,"U]\V@7D[[8"&QA],.6N1T1&&FLBHQS?OUG%U^V M2<[W'FRW+3,%AQXU\9P=->G%;89:HOZ=(4H,/7:5#7+)L9_L@38_X![K_FS@ M%6/->'.&,6+!/& '#"-C7'!J7]UOHC1]NRN2#!=]IW$#3X'MJ8/6/-E1G":J MB08RG_K92!1YXU8.UCA-Q\SKOH?@4M!IS)<0,)*!3>A>'A(UQCA6\U=M1M+W M5/ZN2KP9.J ?>MQ@&>AKUMNRT"&./C'RB-/W>YJFS&2BRSE_ L1/]=2$Y^!1 M.X+#FPPC-)ST).3ED*]R6>EAEK^$[SF.F&L]2B]XIN/Z/KID"S+V.#2INZ19 M;VG<)?1!B=NM]062JIWE[20KQ,@C01_5 -"K^]]W48[1)2%E& _YJ/@073YZ MFRC0^HR%I$#C4 5EI[2 4]0))E_SVPEXGQ5D+7/1]*+^B^\Z](+_BZI3JZ8. M+-2@U1@BIWOHV]UCFL27*8F.3Q8&GP'OH#MM>=I "XJ(DPRT?^YC(%'BRN37 M:HD8W^.R3$4&3NX(JCX/U1W^SGA1)G3BIH8X$^4 J983%1)=O@93,=;3!YX1%L2JI MFM/'K2B&&>21"?@OKIX;!4"@@5OS[&9J+-NY?J,;JE([>."FFI$M?DIN$M:F"] M4%]1@W\"GB(#7D*.D=N:&"61.XG2&AV[OTA_REBJ/_K]9]K//K?1(HYW*7E* MXA?*4&/'6UB^O@QOW*DR<^>+DPB!MV7GC'&7)=#G&)/BMS9+INP2@,HK0/4_ MU+0O%3Z$ 599V6:? *KT !B"-2+7#J:L$HB1" \#)C,M:IYQ^8]3IY[@A\A MKUI+U'I*(EQ:UE,L=I*P&O71).7J0QXMV9HHR*-4JP.R-=@0M4QAOH+ M$FW,EN*!M$53;Z-D>96=1=NDC-+^(JQW6!@J^)XNSDF,FX)DY"GCK0R%P?DB M"PU:=0S/M898;)A[^!]1;44V18KB;FWGSD$P3U5251KF%8C#G/YZ$PL2:JR] M3>S_W$4YM6G2?94V)4J[8>DCN=ST7@9.,C4BKJ=*@P(U,(XN'03.^Z8Y%L2, MP?XR4++ ;S;K;E9T>20;EDV<3:XUCP8N02005V HT=Z4>->>) M+6LX3,4?X$ ""/I40PDCNM#1(998[O2DXB'Z!Y]42-KU M=%)!J:-#\F$3[8QQF6BSSFTT!M]\4[V\Q%_^ \NCMR3/P>,O#MOS%7@AJ"). M%E&ZH2(N)-PDRBSR&&-!55TL/)U4]74->VF8Q>@;X$@+:0G&3(:%DU'O<=$8XSSK]PU8@27%0GF,N;H\/)DZ/,PY/,XUX-1E-ZHVLJ MY*[P.<^/33N > _0XQZ=3)N0<9[^QKYO\OD94*>V0N_,DOT,M@W\R&EE$P01 M2"G+R!@?_,5A[(J2;'!^X:S3?@D9C#+?N6F)J\N@T@ %]$A#"Z#55 MKA,@*QWIE/=TXY<*4>^Q* >> &B6HY;<)_1\8MEF*A7CWU0<8AY1X(C3562Q M7%+6%=4_[Y/L)+)+Z5GP^M+3IJ?%IB(YJ_] C#BZR4)M18>X2[18]A+W#6.G MN2Y)A=\=>#LI;C<$,]2!C6K>-E.6OKA;]?4KMBE^/4/CW]\O>X8S^>9,_D,]R)Y3T2=/]0MNB[]T"HXQ(CACML#N%'J[V[1-DK')D M8BC;%]:-BW"6A1VS(J!-,5U[0LV8<&9)Z,G[8DFVE%<* M_SI*'$=UKT+?(= MTB8R;]0#BT)?X9B"Q/>)28_(2SGGPPRX)449I?\GV9Z1I3QD9>AA4V/@H%'? M]H @CBAUQ,B'-0GZV=MG%0SPS-N6ZR'G/I,]KY=[1C:;X?M68X\#MUFR9GUM ML&3T(5LK"WTQN^DHR(NK6#,4L%<2F MW_]KUX2UDNSD[?Z!TAZ(KU5XPU:JD[9EYX$UI_$TC'3(&%L5/@_E Y$QSY&> M_5#F*7.<%#>KAWS)/!*2LVVUAP%Z5MZH:^GY0)>UG%T_YN39G4Z6_8*=)7>5 M5+#[R(H<)WIL#*>BF%P/1E@KO&%+1;4M!U-1(>.953@]I*1D['.DI(1 7V7+ MAZ0\R44D?P"@C X;\F'H'5+4->Y,\0(,NAX=.6,73)/G9+ECRG2\'PX4I40" MR#B;7,MLS^4XZ>\F$NOC.MP)0;"\PM Z$%?O]_GD@W\LK)9N\*G*:GU^1G7\ M.;6,I#(K>0XLNT?M^9/A(\(P639&;T>F40<'&N^-,YF6"0=1YIE3&;]GX8X\ M!'+Q]+1XCI)TL3E.=:/X-%C>>UOU)_6]Y&&R;ZDGMK1Z"P=1/#D_%$ <%@_X M76Q8!L! \V)8E(@F5]VF2.%G!?S8@*=A*VYV95%&&6.XU'>O\A(\>X'+R]/O@L=)WI:].UN%?TT%NM-E >^GS[, M5Z+%+&^"@TGU%3@9<-9=950=T%F12'<-2N]8FV&=ML/-JPX(.[,)UBN3 M.:3.E&F.'#N5(7B_WSR2]&@R2'\'N&L.VG$MY+5U*ZAY=\#T M\XR,,B)DC%ACUND%BO6^9B]:[*#Y /$8'6-W4G%C_6P?#AX;X&5 P:M!Z87_ M2%ZS)GB'S8<5O$E% \D8/RAZ0]ST)GK74;G+\79/00)QBJ:HR4>T2% M)=-8%_B/-_R HKCX@O,X*? 2LB0,-N1B->@EZ'PAX/I,'.@4"-=DG>I[TXZ: M.*@:>C.4<1EF-EHQH4-HF#BJ:G %UON[M<\BO\;2=?8_!+VA?]"8MWOY!U1! MM_$-<8.NAI9T1G#"83RYDH$G:EP)O1;QV_Q2HLQ\NDO(QB7@'K0_0EV>PV;TF>D\^T#V?1EOY2 M'M<"-FD"J"-T2/G2"CJ8('K ;9\!IC$#Q.N[ M;7)2;F.[IC,"H:6].A9@_WW++JZ=D7.MLYW!EIPGO5<9&73EPRF%D?0V7WA&U8+2I]ND<[)[+%>[=!''+$V!;!%0>04X X:: M]K7;&,( V5W8[1-@-U$38T7H<,(+J\WJK<5[JJG1Q1ME' MI#\]J/P^$MT)PBF;A4I,F"5 3ZQ]Z&$6=(?SA'@CPBIWZX[*6-T=1RIL M@%(@%=:#Z*7,UQ[H(32>&0=-SEK.V#XEG6; G,.)8E&'C8Y=T".7JXQN7IM\ M?\=%VP%O6CQ@.:+@/ 3[X'AA)@X8_2=C@?!\Y/!@D)%!Q8_NL9(<)'Z2-RV* MWQ$%W^+7DI^6#,H8/R*#@]P,*H/O,0LQ'+P J_J:1>GK-N]7]#H'JP)$V#NP MRKP?$4 Y0[U)7\=H*!;9\IID4?O- _VKB&)N,PRFM *V I1-36KN[VJG] 7" M-,DS/DB?QM(,=C^+A#[E.LK0X4M!I1DZ>,32B$SCQ.D:?^8_@<)A3UYV<:[4 M$/$;[;[=Y>QDJ60'18MR3D5X_B'*?\-4G%H.%SA_'LC1I?HB.%'7& 'G21>C MSVA34PZ4TDJ9R03.N:#V]T#&H[''+=K;/C(<5>8TJQX2,J'1*%='+.F "8SN M<4J;>ZJ.9F760^]#4"OAH#'GUH"@AK @%V:=ZV.)1U42/3)Q9-48,A%F MM28IG5_%Q>^[H:!QM=? JF6X>7_!X<,X8 'AMOM6DC)*]8S&!_8*2ELH?.-7 M=,#\ 6&%+CK3K8KB1:!\]6\87B994JSQ\ATA2SW+Y7DO]VE=WF),:%GLB-OVDJ-QIOA<3L?K0SL'JB[]1IA_*Q.D/FK.G;<#UU/AX??5P<8[N'Q8/ M%_=>A:&'243>V@PFL"YYU'@"LK.>$TW3^?X&:=DRT["AGU$2N^ Q6R@ M;=<2=I$]T4$21T5L9TQMQ>4N+M&R11+4NZ3&> +BIK^#_%;T^3$SBPS,\9HB M2I[Q51:3#6972+AY^Q!]D1WDPUJ!'N3K47,MIQTXB/"C^K@+**R"A(X,L<1N M;X)\CA_+\Z2(4U+L\M%TC"-/ P53TJIK 61D44LW?'[V,>X239:I"E&2E267 MC-?T?UPZV#=_N]]MMRF/*8G2LZA87Z;D\U6V(AL>Q/>>[MXQ'DSB:=B*IC0! MJ3G?.'<0(08),4RH!<6"[!@L*G^\%K:R% ;J_I)0O<8HG-[L'O+:1X]4%^9H MV^\3DE3T266!L2G"5W=5V3=A[ R*2;&>;\CP[YL'&)5D:+N!@"CX?+RYI%@A?LE%#4 MLN5K32=,@7I(0 &^H]U4O>_JKQB&MT4P!/;T)Z4.U:)V7T13M8Y::SK]\S: MKL.3]]>TN[L\I^@D,J3\'E">1MMW+5L- )0R!-U]U0QEN&1.[0H*VI*<.7F# M2)WZ0! P=_UIL7B-E[L4WZP:%7LF "G5D--]':KK%,DX5W\5#B:*#9(9JK!H MGS*Y4HNZ@T),.6UZ&LH"8!_'LT ]'F>!$EHWJF#3E^]H70]B3QW1_^@=\*3SN4?>Y MJE=U71_1,=3I636(B2^35 >XG3>OTHD@04@M/VO9_6[L?5=:WY^O13BH;.&%Z _VVT))SY# M#?DI[3XT]AQ63;>C6AR_T(^4X%7V0-_"?\51WA_' GH78C:ITO!XP"(N0%5( MV%DBQX(X&$5_BM>.PI:]JS:\K%N@@RUKQY5JZD7QN65)R5FR9[ #+'_:@DF, M!L%C0/(*T[W<4D1(/T1?^)UX^J](02([+U5]#1RB/-R\^UAE09_*'0. RN@+ M>L097B4CITG.0I45V4V@/#34^:<1 V33N-058% M,%$O>V,P.NU%PR,? )97,S%S_(PS=C$8X@4.VVW8XKG8L'NFK*M)!16]6E9@ MOV7K8]9 0N0Q39[$.LO65Y:BDK*-)\Y )$?L^G\28_9;7'4,T96Y*HA%U5&1 M+'&5"GD=%53S8;9@LZH]F#>0%-5'YO\+L!B;*PAB=]A#G3 ^4+H#44TC3]LY M9:Q;]7[.R B'#$ :XZ[\L+&?9:'=#6>0L\8SEP>-9WY6V+/#M8/I6"(_>)S2 M%O^8^^,[_5Z6AE1?@WG@1Y^WI\+\9'Z7*+&0-U'&>3RLR()F>+]E]WM)1C(R(;<;[O#%% MAR>A1O>"WS7@!=HNOL3I;DD5/.*3Q> MLS^T8R:P+HSS6&['R!@7:$MVESRMRYO5QT+(OM*.3/*.E0W94=OZP@6JA\NI MSLEJOJ,;L*A2;1D&W>>PW!^]R7)R7-STC"(02GL"?;)Q#J[;,2^[9=G,D&Z6 M!UEI>%#"TA2EY"F)Y6?@DD<@AQI'3?G(,<7)P<^LC1'#O.MW>$M_Y0M9@R" M8ULV]$2%._XJ ? \*A('4Q5_59R?1-9"7X=6!E DXZU"@"(>4*4 9WV%5PS@ M?M-M13M,;0!=02.F')W&%/R8L;1/;,^'EW3'1!\5.T#(?!QKR\7DE-&%0^5>>T&KO#Q655J6$JIZ1J6%;_ M6[:BL@Y;]W;5?Q@&Z+J_[9Y!E\UI1)=)I&8HN&R(8=-8%3N+-@N[Y/&7AA;J M23N.3=6&WB16PCY@+HU7@]X#?!M4N/YY>LO=H/ !S%<)3R<*Z>T.O2VY7B).* Y M-9/N )Q+N\Z0"P#C[F&-./M%$K!Z#G#8VYQN,B)\H"AW(A[REJ1) MO!?_'0MXTGX?.'>5Z;B>KVU^$]2!,D,"!OI4_1LZ2$I_7(@QL_T);9(E)9U2 MS\PO>1@]N-BPNQW_X"9%Y:KDKH_/1"; )FU!A1E"T]="! ('68@\<0'F9?@I MS*PU$D9BE;=3GLT#+GW#UOS-:)_N?2 \3[/:IZO_CR]E7LL<_E;X:QK;N"O) MAE![%G/;]I+DOR1+3%+RM!^(=E1]"13_.-:X\XC(!H (D>7W[!L,!F&2]CMF M'#@9M7U-3_L:(II26;0(C*T37@L'#LO,&O.V$OH\.(.A\[,.^CQ$"W/B;2B0 M1JO@"SA0NZ;;ZH?/.'W&'TA6KF7)/DR;<^P]/28[-0?J,3Z7/E1S7KRDW:NQ M8 )\J,,(L8/5//D EF\QNT#81@3I^>\2=*#/*70J2*ZB&K@<7OLI#V1_:8.E\=")=M-ZU ME.8G2(3+2(<:;Q4^]'J&&$3X/LPG0XQW;!H<";"ELR#1Q/*H>%O^6;RM M*'>7IN0SP\VJN%#8.'_&Q6#R;)U7@4NY"@GG=NG%&:KW(#/T^LW\AY]GJ && M6F0HROC8H.67!Q& M]E-T/1,$I!F25W:=L7)9CQC=1LERAFJ44W'RF@RBZN&>RLCX<]FR@L]OCVM" MRWRT@P]#G;*]C?IR3_53A[B=;/4#X$XZ.#8A*[2LJ_O%W:+TG5*QO#9L59!> M5(@-XV@>EB>BQUQ_2>99C1/AXI(6X%1Z%II4OJ]-Y\G7&=$J?7R89.2#G"1: M[/%L7G#]KVA<*[QA9"[TMNS++!#$)V/YJO#Z9%578.!$O%JLJMA 54N]EYUX MMFHB$_5M,7@A*V-JCI"R@ZN?[8:G+Q?9 M%H>WNR+)Z))%+>;').LZ720+PO@+P$5 WK#KR5931EW24W/ *?"=Z#/3FYQ= M1'F69$_%+<[Y-DW-SE5\"RAQ(ZT[U_$5>43I(PY@JOPG0*::9JED!!Z/ M-_P+=JKR)*J*[MM'JG#Y!?-DG%?5!WI+=;AH&I3AT@X$UV)L$ZM^9LQ0/ (X MX#B0RI_618LZ<-'C'G6?JR CCGF&:M1*548GP2Z3JBA-;RF/"@:K0 5)EVB7 M+:G&O-AL4[+'N JBN:6-K%DBC%O:Q@M@C)&]W' FXF01T]IHQ;+B/?.L>)1A MVYH?2\IX5*ZC$FVCO$SB9!LQ.WL;[7G.$,'8$#E:+6M8XG(H#1>JRRCFISJ7 M)&^JRE4'/R2[RLZB+%I&\ITOX'7(@J-!QGV&1P&%BVA;Z;!!P_:" @]\$^RT MN\;[X%4_!\@I!P+,78A $E.V3^$60%_D@@A5>!0%#W; "39TZ+5K/K+NE)S]E?T0;+ZLO^,\T>BNW"-7>1N M]NHM2+107<5"<\2Z>3.(;VHKNII4JRWF&@/C+VRK#L>L[B(6B\>"&ENQ-'1K M['EH^):L7>V8:^QQH S)FG4M0H(N MHH0G=Z URFFBRSZ/,K7$*[O6BXTFP;())^U>?FMLCDP89\)M83B)BS$RW(;7 M!;#I7!2DSZ)M4M(-Q3_XI6),&UXOLN4Y?L8IV6Y. ZT-6X%LQO6IN1;K#@"4 M5PAX*..RQ8!B4N@9X-XZ"]N%B\,<](B9"PU%*1_$Z@;$4:GLFP]:14 X]%T&NH#SC?W*S.2#:T255_T>(ETT,"(9/<'B*QE=?6 MM'^ R'IQ5F&A=3N1XKD;:1V[!#+#8T*<^HH4IW=_G;*/XM M)4_R\YO!!R&&86^#SFV_BBBJJ,)/6RS!-SY3B>L>/0H@ :RM8=$@Z@SSMH+T M&W"5TVPP[%_C3> :HD#!]2RYZUKR'1!UEMG)N;-T1H48L'HJ3BYP^(VU=MVX MNZ83AF,,%&)>!>#.UQN.8T_4U5V!GL-R3GP4AV;CL1+0>L>*K^^H;4_'[NVV M0)2$3*MD,@FVX-$S[I*>/E(",8%>3..U%A3 /^LCRKNE%![5F[$G7HNK3FSY^G#P]CSIL M"'N]Z@;C$D2/T[]3S*^,91PWH^W,\2:EWG_N3S8J]-=H9)>2GW(I[$9%90;V M;%>4AR=4+@S^GZH6 T?(4G?$3 :>\'OR&>=WK(4^]>2)I-?<&6K0IIU30ZT/ M_G(DN.*IJQP<;P=S&;'[MN)[U';_):6IT%1RQNDK("(PQ37GXW;K>\TY)3F9 M-:>%]G+7G+8/TU"()CR=YIK#>S2E-<>$Q; U1[#@O]<<'27G=,V1B8#?JA7% M55'L*.@\B7&=DE#FP!Y[WJ1V15^[7LM7] $ 5["PTQNH+BV0(#]#'$";/Q.] M2C*T)&D:Y06;^V)JAXF"'9>FX\H5XTP-9:[=;'D"618@QJHW/I!+DJ]P4M[L MRJ*,LB6=_=<[60"M/ZI>C39E=-.VVY2[X<^N<,A9L/7V5C%KY]L^ZZWJT S5 M76(NT*I3]->V6S,D.L;UF$C,.**\7@C?829=Q0QJKN$.XU8"%2("+B(MO)=D MJNEK-V-K#3C W@RVZK[A8*FDWF> AME!6[Z,L0.B$ /,$'7)(F+T5" /HJF" M7G4M?,Z2P<+I+F7EZ\*==*OS-5SPI]RDZ]9(\!U=5Q<\X36W!Z M]:+\3S]\]\-K5N=&U,'Y%_3FA]D//_#_UPMVM"O7)&?9K/X%O7XS>_/3Z]G/ M;_[(0]I?OY[]\,\_SM[\Z77]<%*=,]&_F<^,[KO2,+-$.DI$E?7^,FQ'2<[I MO]U_X.8&GS:7.?Y]Q^X&#]0:UG@3FC=[G()K@>W010WAD/6#=;A.#%CI7P#[ M<)V3393([O)HO&DJ@'(*@010$ \L@@I\[Q-!56;Z.\EHX%/F%67*$!W)&'[G-R3,U'Y9O]Q\+=D^NN>*\8"L/OT$PDHS< M%UGH>8MC>/[V, 7;Q.0U:I3A$N&ZFBO]A7WFKJUM!9X=$+_:,1=VDGW;N8 ? M-7T(DV3=F\"04%(0=-4I:)=V>4YA]N:7@[QJ<=TY)N&^'E"2(PYBAAK2BHGH M/"X\4LZ/K#S#[ RQ[1.^O46SX1G? ,-\,'K?L=U]XLO<+[K=587K_WFZ8 MD^'D3$0OJLK8X=.VY$NT&D2VA*M@>G)UQ.@AF>KC7@AYNHWRF_R^9.>@7,F. MQ&UKO&DN9S(*?F6N\7!-*>)99QSZQ5"-N=Y$\IB3L1UG(;JT!]X?D5\U9F ?XB^))O=1CKDO;\#!OV@'>>')H)8&&^5 MG&MDE!5NASK)AH>Z[W?(4'?;<3[4@EC H>[E&AEEA=.AOLT)RRU,MV[W09)5\^0WZ![(Q_HHW0&%62-/>4<&&>)M-;S-*QTU&H([ M\"1P+>QIT;UFJ)<062SN'X="<3-R=)!&\N[-_B"+T="X$ UF>Q,Y<7O_9G6' MMRR7=?;T,4NDQ=^''P8*7G^COLRP?NH00\Q6/P#'!6W6BX8X4NB'HSDP(B5$ MCV7AMB*=-,P:NY+^MVQM4 Y;#[97.81A9=MBVC/ #H;2Z2F1-)%=C$2.AC8T M0RP,9,,HQ/F,OV#%HO$9[7-BV$PKX$>!XU);Q3SL1U9=>?A.')7I@8++FN]" M\D2HTG ?U2.YS]E!8E"JV5DOS:LWCUT 3H+4I=.6/6+$:F]Z7(33T[4%%[=1 M(E/>DJ> &ONH-><%BB@QYI7@KJFZ0&O",3!S8*Q8I"/M+&,I4>13.(/YIEQ+ M+RP,/VS+/.:-ZHL-K'0JHV7%] 6BMF3+*_3#E\U[*!-#IFX/RYRZ8GF$*5N^ MWF'RE$?;-?-E2ERSH\\"7+72-EV+39=>*'_M.$.)%I?":_/##MC0D M;S28KN'4K>A,8#^@J2RGH1\/)6)(/_:PQZU^Q$_'\TYZNCGZ+$0_RMKTJQ]# M'6N.LY1H\2FHMVCT]J':2Q:]1O[N(,H\1Q.ZAJC(_1$/4O#+B+7*;/92G8WW MR H]](KA.MW7M._5N@^#R9IMV*>CV'S#0*54M4^.U_1!&>I9V<>9Z-$S]$R7 M$)+OY:=B?8^ ?4)M4ZYG0DT+*/!F4,%9UA-5U,X<5CV#3538$LC,T+PLK/>R M%;,CU)7A(_-CFI>&-<=#:HA,[.KP':;39(=9;F=V-,#RTOR:E.NS'1V*#<[I M I#N6%P3V^#1_[&]GD1@#5H"2B^ HBNLNVN+-Y3X.F/:MFFY&^8)IDZ;=EG;BE!?88X??3C M1#),#7"[+['4& O]"9@X2A4U=>+]0QYE!4M;1[)W49*Q#&UO,3MNE:]@@!:@ M JA.R=<^7 ,29 UPVF. [J_PH!H0ZB!"#!)ZQ4!].T./'!=+?S%#"EYYG]T_ M=%+ &("_Q"()^ZNGB.5\3$?/2EPI(,#L(Q8X'#;Q8O/EOR2UY9D(0D[D#\$RI1P MW)CSN,:*6*@@@P'V$36>A LK:#QLJJ$%)R_8"B]H&O:TO3?TV-K$;W;H!0S, M(F3Y.4E37B^SI%Q.'E,L?E(.UQIOPEH0EYQ4N- N.28[ 5\V^PS8IK9$)W5- M3$7J!@/%5-D:U#WY6ML]^=J9>_)U:/?DZ^FY)X^Y/>*>[&5A4 %[HRU@;YP) MV)O0 O9F>@)VS.T1 >MEH7\!>[L_=1YP?&H5S11>-A6[02)A/4F3*&^F,@3] M%I-+/F=F6:']B&B1E 2I<7];KM-63&<;/D!Y\P%O4P*_#%;XIQ?3'S* MF!M,(JU6V@0*L1%M7Z%D>W%9]2D3!=H)PQS&=+0S5,0)_PWOCE]DRX\%SN47 MQ'L?@-P"/VC(M0Q18HA1@U_G-H0+N[/=N$C1YS5!48X1%12$:6=VA"ZY+& G*< &WV V8L#]042X.NK017:+P")T 2;SFXIXWB9DHB:32;8B^::JE_!(=B6=#2+')N\V-Y*:J8$*DO)JF'W3*,B\41$[HL]Z MFVM*18,T9(N)W#6J1( ;%RGQSUE$GY%F%5?LM][=T"$NJ."Y^WR5;-N;4&%WMTO?)2GY31?E-\#65 M40J^3J 4H$ .GIST$'#>5..8(8Z$+XP-EAD2:!"#@U[]%4=YJ+LXZA)'#)AL MN#9>T=E>E,P],;;9&GX2LNKUM^C>_U13-=YCV>H ?(.5M)UY*;NK$3DB&KSU MEPL:E\!B[4T-D'GP3F+^W]'E^]O?KU'EW*LP'>8[3ZYPWH1Q_DN2HM? MHSRG*].^_DDU!LBH<5O102 0GN(U.7F\1)\K\E9"@SQU&&:FVD$[C6 C,_$> M"D.R,(2&)B*U,W[ZX?5_,(M4;AU*'X(8AB>-N19)2NW5;]_R_03<&K2 &F8( M+E"%?\OPDQ65%BQU2+"S5IPF(EX/;[8IV>,@Z8'E$D/4&.IMI;R/UWBY2_'- MJDH2UE1EN&I=1F_WU8\/^$OYEF+X3;(T&K8&7 N!5)W[&RM8[.RSHMVIU-&! M-F/R7#_QZ2%BTLM0(@XS3#2,Z4@2R\,S<=.Q*9A\2?)SLGLL5[N4_L8*E=LU M(U4(>34IAP#Y,B]K""R=-UI6(%!4H?!G;=KEA4_++]V(*M_)Y9BB!Y^Y[2YJ!/@F[P=56=X:=99E2YZ,]X MK#-OOT\R?$7_E*UU\@>A)M])@\ZMN9HB^L1H(DXTD&TFYR919Y$W*1E2EU2D M7\,2KHCW$'LJ,= M@#.N.+/\%1%/U>+7G0]ZECYH./T=TU954YO#MLI?,E:U5_H\]-!5UJXO,9<" M,"G?:Z$W1A5\&_I(K3>NCHE'A::GCN\([_S9F2<6!#NO'C8K%5Z!6I$#3;N> M*@]YM,2-C8CR!L(,9;AD\A8=F)4Q58))R5//X8+]_$\__>DGOJ+^TT\___., M-E!L,3O;QVF8!#5*XT0@S/>NOX7SFT%25.#R%PPU^&G#OE7X*0+S$NQF_;%0 MAIT?WTQ"BP](CK096?1-BFC5*;"AY^&:N_^5IWO M]ANR=$^3+.=)AF)!.8S:'>$MT6283U-@M]FE+"LKOX##3/L%4SDUU!X.N!5/<_A;UZ,-EC!GG[7%*&$6&^=MO:XJ4*VFR*$CP@O5*\N0.XR_/DR)."+\R"GL*#O#"61SLL7*UX"$ZN5 M* \TDJ\@0%\MQ5K((4UCCBH(XM \5>6XTYH/9^L$KRZ3+,KB)$IO5JLDEJ1_ M5'P:4/=AH%7GE\L9:=301A7Q,/Y950X33;89WN>\S4F,\;)@!3GOHY27GXC7 M28;S?=?U0775S>K=:;40HS8@MT%U:7EPBW$\B(TR*B)Q>VV)-R1CSDT>;8=; M-UD53< JUVE?*77?==B-TWX6;&IL?#5K6-#E0(![IF!1)58&P=]Y'E^$J@". MD3.2P6>AYW1];;JO],/)585'PIR)##.3:''(?R;^=J];C#DXE-XQS;O?U[;' M=/L=\N'=&6H,[\NR/\Y%;Y+&LN&P_S-%^4S5)P\Y8YF=XA(OV0]4B1Y^T7E2 M(HE6V@1*JA%M7WLO(Y"0_:=GKI2LR+'>WIO7148QI3SC_^4&2@6 &RQY X__ M'F3&VQ%LXF1<7H;&N,KB=+<43MPMH:;INYSLMO0-IA))1O?G.[RLMNK48'>A M8( 00N@C3:@O0GUI]LF[MG/.<_IJ0I;W9927>BKR3%DYHJA$C_@IR3+FR*2; M.T'S:^7E1:99N5Z/DZP"B"(/I[CN0/6=K67*2 B\K6I-/2"U6+.QQX&KA:Q9 M;U6?)A\%U4XIML N;3=( !ITGX#C@O MH<5[R&^RX:J3B))F=]NR9 M*1CL8B\&!A%B-Z8-]D7LQ[1[Y7T7X8'O (<5"Q;A.X1ME4N&\H0 MH X$U,5@D/+;0<^ Q6!X#Y-.#Y-N#S<<3(@LW^J218!,#5T%I@K9ZI;VD&AE M_0;L5GWI(>3MAHHR(M %'(?]M6^YK6I8H>TW@#R.5[H99;JW^?H^B1Z3=&A" M]CP!G'&=EGQ-J0Y)R)PQ0@P^?T]503L2^;X1)PI,\>=R(9M-4O*%C^Y=SK@K MZ G3"2458H4WH,X,>G5-2HQ>OPE3VE&%X03 17]W''>/ M1;),HGPOXEEYGH;%ET2:FGKL>>A]1EF[SF\Q5A'+G"#ZQ$@&NK XREFBS2[# M'61;BN1F5Q8EG7SL2@LN6=JOFY6XB<;KK\A., U;@>PP]:EY*VQSLT(=3*@" MQ;X6L+2+V03J/FQ;VJWO0SIL2"LVT*^K.YM51B7&A4>&,$3A;+C,$DLCX6\) M:#7(=;2A?S[D459$O-[W.=F<7OO1?Q&Z*(P2\+PZ"**!U@=U;A,X"PU7C _E M^VB7XU3N7^Q_ J+I#UMR+0D?2B3(P5V$IH!A>O<.;^FOE1^P*2"&HD>JA!'M M5PT@. ?Z%- M#QXR,=2 0! -'H7V:?>4J];S:0\T8->GW4,HL$^[!Y%%G[:5_MKW:;=9+:;I MTQZ21U#U]O"Q !U?)4]@-AX*('O#/!+@N.4 .4:.(1AF43'HT<^B1QE^8D>6 M#_KITA7PNX]KD I+?UC#,+],=QAT^[)*<#H0PB!Y!+3'.&S*^2:C)F>PR3!% M[&*746,*L/8@LVEY6^FMB>U7F M%OU?!62BUM:0!(Y;6Z-L]I@O'+,:$U5&TD4F4N0?Y/&03$V--\%9PD/26/*19P MCS]K[1 [5K=1VC0#[O;T !J;T_BACO&.Y>6=LB9;T^@1_VJT2V1^QY KCF=EKR90MW2$*L6B/$@ JDG!X[NPJ"5]_EHX[7 MD573)YQ$@1^&%@VULI,,\RAI7F>1SGA6E*LJ,)]_B$J6>O>I^_LOPEDD;O/V M&3*VVH38+Z:TO9@MIB"U5VO_7 &HC HDZJ+@E?!0C1/50 ^?J: B@16]^BN. M#W@7(CS*- $(5(DP"&BQP[>NLF\:*6*WG ?2MKO 1$U8;SC&> M#JA@=O4EQK>8,IV.R!.^6=5':KS89-\4TWL3,L/4*'@YDU*#HCVY7/408,FW M4!#%,D,M&A;Z(0Z )]=/8'92:I9MV^[%ZRA_PKS@.;?8"JY :*<+^@,.$<:B M.;6( 9<-U0H$ATZKA5*@P7]_^4] M:W/C.')_!56IW,U6>9*=32Z5U'V27W.NFAD[8^]MW>V'%$1"$F\I0D=2]OA^ M?= *5(R'T#CI4F^S,,&T8U&=Z/1Z$>'C/1DM.BX*,+D=\%(N:/+?4Y+DA[: M@8*445+URC+1%MVV.Q7@2VB2P%M 15[$[81)*7T^4!$&_GU/\VSUJG*0FK%" M> G+9/Y' 36/4D*AZ7-5R^^3)E:7%BHVG+S+"L++5(RNN9R=D:R&?EB9F$L& MML'L\A<_$*DJQ.^$;.0L$<,.I21?B;@Y"?)FU08J@W.X "J+12:FR$Y;JWT- MBP<48J@7E-!Q:\:R5#4/@HI9*NAXO[HIGK.2%Y(#Q4TUV10\Y^N,3;A:S+_& MJ!E]* &2H10FP.-'N) ^,OA[@<^E6E\-0,!W>A2(T@/>F!>Y)=5M;^+)W_=9 MR=)%HUN_LH1ESR#K4 62_7TOD,A?(33V6>CGB;QXJXE0MW0,0.]W]@8ITF)% M.K1('R]R0,SB A^& EB9S54TN3@H:4N5PPE>=E2I^E0I6V1C7.ZM.)B[VQ3[ MMPKXH2S+=U? 52%[9A ?-OE/H(KX9)6 M$(ZYA53NHQT\>!/ZDAJYB^_*55%(!U%TIUCA5$6Q9G;O>,UM+ M>5_S+1<[P#Y!^[;[@DT8PS-C4?;NR)S>3=H#7"(!7Q !VL)H=;8,)THH,6^YCGSMG2'IJ$ M#]?.ZKB-0*_!P&(+5]H1Z=7]#-OX:F9ZW_+YJ>LDT3344'#[73?B=)K2I3O' M$M.MX?3TPK4-IS=C'1A.ASG#&TX"M#/#R6(9__<-I[=\,V(XC5 QLN%DU'=Y M^CNGQE&L#LR]FV_T-LPSY)X][:T;,J.";@^O2X.J=V($(LSV9*9P[Z%ZJM5# M7.T8[;@&0:S?SCGDR_1?">^*FSV8E%-/YIH?X5[*9R;WSQ 2@>/7\*P@"@>; M=W'G"W/T'*[66_?76[&U="(>UAWC,5R7RSB.PO8E8*1^_B@,E[J-H1NNMJL] M'EFZ971>[\D)3?E_*N 1_%79C(4+?+&:%X-?;[!M+KV1L-ORHI&OV%>1Z6.EB9L"I81-(@>IEF:"$T-!^ M5XRJA;6L28?3!6FQNB 2+Z(0(RUFY#Q7[N:T:M"2Z0M4G%1+,.=:I$G9"["" MX2M)'Y7R(+^5](&ZE3S*:8:26^Y@@[SH+ GG?M7E1K+T=E^D+(7A3[S_\YME M5J=47YFAIW:GY8Q1B*C^C'%UI!T"T,BMPI0(R_>*'FI$X4SD=T)S'/WNYO+N MZ7KQ_= KAIHM6ZHF?C0[&JYMIY6RYWP%[[:C;TJT@E(PV MO-\!^U0WWUB99!4[+>UJ_!VZS\[,_$'\9@(! BS41)%QA0-A+1*1.NSHDIZC MZ>G##_NT85\8I*D).J>3*4R&'SOSRPX!B>6?!>W:0\:QH];-2H,X;$\($26/ MR90A)UVX\[2WE+Y'OA?3TZI>5!EMJO7SB7P'G?$8&9N:U[=8'6 3 $X.T/%R MY'8U3D0G*Z!\$:F.U\I;W"*(BA8K<6.*>GT-?LKJG-VO[HHT>\[2/4L%?)0U M']UVG]Z&$=M=@[;!>+%Y87L4AQAT[/PD>"9_HM^:'IZ7K&#C77B,OD7RI!:, M4)'L6LA@XM<]K1+C?>-;J*:8D-_]TW_^].'#'X6<"9SB= +<0S[=F]3 MLB5D>)N3QGC4^*!Y(G-CRH6VOV]YR;)U86AYSWUE9W./S1[8VAY#P\+.=KRX)92@Q;.1M+[V-(ZF@82VBZ:QL;&(G*]SN],L@QY M:L#L,2%@,#E;I&D&OE.:/] LO2NNZ"ZK:3YI]&A]@Y2JR;F]I[\>@!. _CXK M2 ,_K@&D1W".HF)P0XBEK#1V0VA :0;PEUEUDB OLUH?VUYF)X$$O\Q.8F-UF76\SN_= M.C)DLJ';K0%%+4,G!0QP\K)KIOZ^*Q9)4NY9*AM4=8UG3@0*]2TFI%(7AO_* M[A)JTT,H.< UCJKTMR!\SZ2LP8F\2QNL?B#I7L80'7>ZW+$RXRD$*=,1>D0( MP31F0VZU%98"]]?')&/07&4\/'ED"$9\3J;R+25_?=_"PX<=6Z.,DX.[7O?7 M4A4:AE2N;D41.'N,$;@.J0)>D@2Q@.!0N;)^A0K,O("0[8'(':-OT!>BB;E] M2X""23J@,>)YS*C,4:0+QEXGJ S&I&N-1;+3X)RAV2A.D+D>6;D1K6P3[5@I M];3 >0GUWK\*N[_,H/F:O+;^676WAIRCDK&_,%I.Y=U9SH5*PT/"])Z5U^'U M7A;2)QUFC=NPP0VL/XD=D>A9Y.D%(X6;M+T>A22^T,2PI9!*EWWN*%1+"KT" MUC$2^&PYFSO=(]OT/NCNL#SM[K#H*LY>OG9#FF81BQ=:IE>T3C;[W2+]V[ZJ M!RK/>YH=E3KH#(L@M3GEAB14AA',>#2J-0^PJ2',5F^DOZX!FLBT;X@ M$O'W/^_(=THUO&,BD2O?[P@]@ >MN\^EFI5)3]#FM?MEDSY]:,C::N1>5VA5 MYT.V@&[T>-+?EKB%K#TH(^Z9 \(U)N#%^HF56R@H,F+_#PW!-ASH367.\L^L M7')350$@WP-,69X'XY*W0QKWP-"'&:<#PM"FWF\99W.E\'5W M./.+POG="'#F_SG$P)D] .M]9!,4U(5E= 5:RK.66TZJZ7PV,G?2Z.IT;*7M. MA0?P(=WW@$&_/WA4%Z_;/>1>-\;2; -;\ NO)QID#(_ &&+',WE/.(2[ M X"SZ&QMB;#3Q]?#>F(TL![F :Y!IW!/8ZL5M !^9H>SYJL@'8B7D*)3DN7\>OFQ,ABT[G]NGEF,,ALI[&588-[RW=?^76G?!UG @/2%B7 O M<:3]](5W2EP=9 M-&"(2^?&8CAV;,X@:3%CP"U[JMJLPD5368!/% +D'61Y_1!Q0:YB=&$Q?$7J M; L6'7G99,E&-G*M2$(+8>N1EZS>I +3@D CTU*U=Z6MH_L"OGHH_E)\+JZ? MBC^)OQY_3Y0>N)!))NR;$/^<79#?/WSXRQ\^?_BWZ]]#*8T^&JJR!C20I4D- MV/!")0V*&;)G1K;B@-E4%X060J%L,C&4%22EKS%R"F>%=;@_[-A6.U4SK2$) MCIB[XN99_.A^=,TW!@C)9"C>Q5.)-:;PGK!66D%-N2ER5_D5Y9PEH2I K/BT;+@5XZ MUG31E8V6@ ZK'_V=05T[*Y;\RYH__VO*,G7C%/_H+IKB/_]SEZS*Q3[-A-I8 MU#6KU*[>YG1]HICT!AOJH>E)?:N=NZO;KZ0!37JP"0 /RE2:Q.5F% N7^I@5 MT "O9.EH9LO0$&SJ8V^J8%F$/9BHS$L":!!CRK@%R1>KLH@#W = M(H4KWYE5="T.EK44J?O55SB&]NP)7L&?V+?Z,A]OZ6GT+;9XIPX,[QZS(R2 MMQHTR*\2$0*8$(E*G$@*LYW@5N0-QIKBBJBRWJO[E4:N^=QP) ..31M*$8_! MQRAE!VLYCDTP4]$=>!"A0S))%(F9Y19N2K: '?/_ \2UY'&,_% ME-@2*!:@O>/L8G]7SBZW)HSX4P-*G-STGFZ0MP4=5:_0L!6*0Q5>2#(,NA7 M$+U?OE[QE W<* R^0EPP-&;W7H%\+%7>\T@PE_Y'%IPS/GDP'FKJ&0CK[- ^BDA\2(<0^150"JNG M#/> XP@;SE$(*RUJ=7?YFE6_76=5DO-J7\X&SIA\BG7\:8#P[N#KXT "=)A M$?^\--H%;D-:SYZ2FH'Y*"XIU[2F39FW"1?)U' +W\C0M,&<(@?@!*"W)?NB M.4(F2 J\Y>4UWR_KU3YO+B/5<1FG9U:*:\F8RP,Y#=818@@N M5-2@*5Z8:$+_:T>$@;<(]$J<79 #IC+U1L5;$T@:AY=&B=YK',\1EEFYJUWP M9)D\LF1?BM/MYENR@7967^AVZ-%F:AC"$AF:SO_AH&"2%B@!J,$-CTE*.:&#S\MG[(ZG^*$TR$67-!.Y;W(/P"!@.8//[U;_D!:\-%8X T)N0Y=+--_ M%TT2 ;M?K82:*=8/99:(_\BV1"?[K?\!)LEW;V3&!@GMCI>#^9(;3$@ M+0I$X@ \?Q9KPO>SI(>E/=-\#RMJ%KAK%Z@:"6=5M6>IO %4/$\C).#JR0LW M)[!M16RVA2OLN@01K<2EXAJ>3+/E7OQWHC*V]E>H"MFSLWNOE'WS626Y-SA( MSNEA85$SV\/:K"MXS"TW0M%L?0;C2,I:"LXG1BMV2Z%"*7B!'H60TATO)[H@ MZ7V!$9CIF7T+BX1.6O!0"N& %Y.7"_)296;B95&.%(T^8DC*!K,:_10\H2Q M5%9_NQ.'-%R$M;)%]3]$>H;F 83R! ('?/BL:F%*TGRF+=3H./23YLE\_M\O*UF01X*,Z^@?IR77 M)E# +("*"3"0G'#-GEG.=W!RZKPD&7R)S@N8A> _04"AH*SD#HGS>%(RV0)N M0==@W/AG<;-7N8JMIQR,>\"W?!;_3/^V5_U QEZ4C+]'8;P*VI>B;>'R$9C>PY*;B_R[-KK,J#Y_X*4AG*Z/ M-U?D,=FP= _1=1]^>O_C?UV0 [I=N)UZ"&PQ%N=9FLI,(?%/A3YTY9!>-AAW M$[%WDQWK:BL K4T+W&_ID"2D48]+XPNK?DF#,WNOBJW:AW7)4N=0F$N'TF_Z M(&F0+S9S35;HTOK&+8.%J=,UP6(Q2W7IT7N>S:(6[)K6N-=M_?MYU[L ME [,>;C2.GS<&RZHM=J4'=9=3!338H#!M*V),4I:.IF@$=G'/2UI43-V7[2% M9._+E)77;,>K;,+G9/PQQ@6E#<1__<7B-W+ A/"BJRDLD2$--G@?E<>E6KNL MEK#Z=7_U2;MZ7JH&71+!""XH*W:]NJCK; M"JTW4U'/=AJ<'!J#\R^1 B5ROR)]I(C B@BTX.<'Q,RK\\6B $Y0%27XBNSZ ME("+]KZ2 5+L0(F=(D0-A%@"CE$D%L^ZW-5N!#-:GP2@^]6B+"$12];F'K]T M3XY%FJ.#<_J/I\K%![RI$]<#KLK(]?Y_7V]DYS,J#M2CCR+>R*>W@1O1UO*T M:'UO]RLH_GI2 %89B+T:L9.]?)S-ASD_;.!Z3^QL<).=I 3TBS<%B%OGYE&E M8M.&0-&I@DR>HLM]3H6%U]5S@=ZM&T82OMWQHFWRDDC*P9^$G5"N["@'OX]P MY#AA>^Y\URR5@P0D[H7[4E5YD+I4.9YU3$C$YQC1-P 3X#FR0T6:BNKX:;!Q M8B=Z72[V(M=?-D@DE\M.FF6?@U&(849N2W)/6?!- \N14@@#OT7DOO=F\1Z, MT[01C5+N8(A:?(8$?K?U-BNW=Z%W MC]OGCO%=/AV!W^=VIE [W<*+M=5O*,]FPHA]G:%O MMY_/TRA?+!WI>"XLHHWG^ M2MHUD.JP",*:5:@:)PG-DWVN7O-!2TC-4,51#6[E@WO=SF *Z1>6K3LCSA'4(R!_+#AS\J^1%?:$M&)'J8J=<90L#C3?\G1V^MWS.5:JC9Y)1G M=$G54,J84)X4+58;<$>;%>W">_G:WI$F7*UZ'SFZ\!Y/'OS"&\_GJDGEB>ON M%.F"<=@77OP\7;AL8 22=WHS^684 4K\'=>M-D0XKD$-N[VORKJW[^)_W9Z+ M__0"<[ILBB+][SW-L]4KA 8TS1+FVWO?S#^4"]X/GNKQ@.'L[ MG,FA5<5DWOGTD'NI0C0COUL>$W#H MH7* *N&9X7YUZ";YP%6;SYF>TR:?VC+.!(AP["147-=QLT4C=D]JHUT8XCYM MTH:[&9SX>)J+R]B58'HT]BXP/&L@=\@75A/68" ?!8XNLD-W>],7!,^K-A.Q M&Z]+]75)FN$[;DC6V%[+-WX!R+%*S'R6TW.X]5@.PSI??^42T//DAW-%"Z>^ MRN^5"(B7'GU*-(0PI$-87^.,%,][&G5V(IBZ:\, 9?FUQKX9=S#.C$:JL)%9 MO:=(-V!)#VY,O^(<<;DAQ:)9I%-'X^181]9HR*-.SQ;M%)H?2S3(@39OA^*7 M&<@*'575&@2-JI)5<4PV&2*M_9U#-7TT?PR%?4%:'.+&0.H3?T:-3U TAML+ MDG1O<_Y2Z;N[1C^Q=W.]F3JH>TLFMDOP9^36&J?VL#MKAH3!>$RV4;OBA<1A M3W/9S&E*O=WP/!4W5O4" MKZ_#YK^U5V;C,()JM3X:OR<*D3/2;QH[,:SH=,D;5>--W+7GACO4=B%NVV.Z M+MY]>Y; ,WKN?(H*S^BUF=%N"@F'TEUO2@A'5E5SQ!VO&AQ9':DZ('R[*]F& M%57VS!1^GWA5?6%"@3[1;P^\E)>26C6 EL5Z^(.X'X]FBCB:%Z)_.'.Y5XKV<^T;F(TO[(=?969VU!(,2N2;$?SN^(O MC)9/ O!89)#=9-@S'04TD(=4T/L_,#[.4(LR$V$[[.+8.78LR=UN23"Q_LJ> M6;%GD"-U\ZUF94'SMHAQ=?GZD?%U27>;+%F4PK:;K WI<$:D@%M ]E\U3J*F M2_1(0J?D)Z:%^[, MH]E-%L:.7'/-V,P*]T^Q+>1UKC0N"J M=?GSV4A0*$Z,?E! MR;< ^,3=O&_3N= 06WKT_25@1OK8'W5E6[Z2_KAF"42NX8*TJY#9\#EIUD'^ M+Q 4YZD^$&0E"?+<$&1W0 2B$&62R'NY M(7LH M]?+?>UH*V5J6B]5G^]81*;S\JSW,\(Y MK((O+YE0FTT@YA/]=BW^$@9#LBC26_'S;&UZ(EO-:GTVHZ![SZ?IE?EKXM.7 M$L/V?P+'"])B*>O_-7B>WP%NM[V#1[F#/8L@/5>'!K[M"@36-]_ 3A=K*=@J MJPTE!SVCM=080PXI,5='G9([B2$-@N1=@^(/YR#XF"Q,1%$X6:U M8DE]2'H12'^E-?O*@'H"8XSW S^EM5"8@PXI&0?L^N<%($B.,3P_\;#8TD$9 ML=TGR^>B#NH1Q&O&MBR]SIZSE!6R3TUCY#WNEU669K04\COT)N1B/LS#CPW< M(*\[-@@:OSB$I0;"C='BH-).5LUEJOI^UHQ[2E']G$ !0LQ_F@G9+YE0/N*Z M6;\P5I"2[7@)I18SI19KH199:T8O6S,:; CX:3([,I'=I<2HY2NANUTN"]9+ MV.UE=L4@]C$GE5C*7LC;:W]"Z!M:D9J37?FN MB:(45DXO/12^IR25^R#6/+?Q$1Z,G"@M[IP/SSFJ_(M8F@IKO=33XS"MTLTOOB*[3]*9LR MK]6<[6\U%Y+=43#]Y^YEI>R9PBZ.[KLM8D08]P?4B,3M7(Q]NSWD3C?&TKQ_ MVK!R2_.'DB="*,$2PBR:Y M@FM3RS:B$0J!/0@J_?3CAW\?9^&)8:A(PK?3^2_K)D 2@$D *)Z!G>#N)*U9 MKJ-;5XQ@L FVX+KT"M?4C]50X%,($]P3TLO7GRN6WA5-# WTVZK%#0+.D9F: M8?B)L"T"C0%Z-[07CW\BMY_N?WDDMU_O/Y/;NR^++U=W7SZ2Q=73W9_OGNYN M'N.T%\3O#7='\,#%[MY 1,74X,[:5A#T& MH83: :JHUA,Q*(10 ;HOA!>$UJ1!EQSP/?WHHLW?B-/&PJ%<<(];&38KLN<4 MF?4FSW]@D_\X.'&8I,>\ QTOLW&:L*?IC!K4BFU;7FT@!>>N>!. TG4QSG/^ M(@SEL:/,W<1N[5 #!");IP:8.K19O=('<8PI?"HHZ_;<-1#76WA8$Q?#VO.& M+WH_@JF0)C'OEI=S#U5W19/[V%VM1[2'DSF1BL,*=BB=884D1EV$HHI-$:XV M$9FOFJB*@7I<)A7MI%YPSRW=<#5R]NOVM$'WI>#8_JG#2/B MHZR$ ,,JR3F$&T"D':GD@LMNP;N(3W)SS,2-21K,8KSBY8Y#:*2X_CZR-6S1 MX*F@/1YIZ8W.ZS^$K0%\003H]PULS5/"DPDR3V1N3#GKV/J4[9CXHZBOA3@F M8G,G0G#F1^/BXL=F]=_HZ0"9'$#C+0F7"W$2VI#UUI>V&$4)7I[E&VY(PV": M=)$D$!!??64)RYYE29PV9.[Z<':-:%6C;Y$:5@M&J#NS%C*8N[&G52*\92TF MI$/E@G21I$1WG9[.&#.6XU84#O<6H[(VBK7LD?@U6V_J^]7/XOH!;KK%%MI] M_4,JRB:/>>R%!CD-]MW&$%PH(37%"R.O_M>."=EHD2(2JPLB\7K/5^\%9BKY M^8+TD2-:%/#U[(7E5NYJ&P+>5E37TU^R>M/V,])/XS'\&GV3T8(2PO,E\_5+ MU0KJ@A1,N6.;TK0[U?PPT@7';">X)7G#9>"_:?0\PHOC ['9\F\F#'5,O(6, M.0AI$/?<19U$4(39SQ]K&E9FRWEDN;8!VAW>-\4A@]% M6EC[JH0P+H11 M9$.0(H>,#:'D,#;,S8H1VNP(<%NE(TZ\)X;MYJ.\YBD;\#8AM!PHQJN<5M7] M2EHBBV_96*C6['CTW6)D7N^/N*R5KO@\*9^$*L^EKR:B:^>_2>9ZSW@8K:Y(TH 6CFAU MGM_C"]U-QJA-#T;;&$.3^@\\:KI@R&Q1@!LW,FV&M-R,7A$*(__"X&V3I8MG M5M+U2:\,PXK(B+FL2R$;P Q9 [E%BS1XO>W0+52U+/,#U-5MER@>[*"#C[8'. MI39[ 635$M8E0KZEZN>B9#3/_B%D:0T>\Z8^+2](UIX%$.Q+*C@+Z+IDTM$0 ML9.LE]U^TW;6WQ:&#TYKHK2'XZVWP>QE MM7*YQ*U&-?8[V/,2.(F_"">)+\5A65NYK*3%AU 5Y@YG%N0;?OCQGZ$%Y18: MZ34M#[HH!2F!$):H%$!6_4:6K$@V(/,7Y&63)1MH-Y#O4W (+?)'UR5+,UJP]*,;[]S M^T[5S1\Y9J%#Q&&D FIUQZ4GGA!!5\T[QBNCI6S_D2@;HZJ#UTWCHSJCN1E3Z\[FEKGGH$8^ M@N;0R^?-*KJ]=,ZJ]@Z;9Z=%WDS\CNH? 394!]+6M2RO0-+ M!Z^=DP.Q=8_>3!CDTCD(&57UR '^F+YZ;0:;!$UBK\#)?9,>FN:E[>K6\XI^:VWSW:WO&TG.7.^3,$D)&&: A20M*WY]0<@ M)5NV"6"!+R )H6HF;4D N/ 0+VL]:V'A/_[GTSK]Y@'SC##Z]V\__.7[;[_! M-&8)HK@B:8G[$U_N9_G]Q%?_JN^O&YZ+NF'W\HRW[X]==?ORM_?2Z: MD;J"HM$/W_WOSU>W\0JO442H1"26LF3D;UGYY16+45[":.S"-\H2\E.T+Q;) MKZ(/'Z,?/OSE*4N^%:A_\TT%'64Y3CZ\$OT9X%XCGFZC6)&,Y:21+[-:$&HZ!U!:20^ MHZB@J$B(_$'TMWS\BN/%W[\5#\JC_2.DA/]_=T_(MQLQUC*RWJ3XV^\.>K[A M.!,/**&^$E_LRLL.ND:ADA$_Y5@,_-WKV8N9LO@55E*R;#],,QS_9ODLP M*863?Y1 EB"*#_\\ISG)MV(N(4+WCTO1/4[__JWJYTJ:5(Y"QG>0=23-%5ZB MM'KF[(ED-0(I2MC(]'XTR6_^^46\I.R.7>Q?QNW^]66S^RSG*,[?B&-9JS%L M"Y3=EQ.WR*(E0IL*.YSFV?Z;%Q!W7_SSC&1QRK*"XSLQ;$Y$^U\5O;"H,=T> M1!\'Z<-_[^?[\_"XI O&U^6:\BRDHCMVE9WVZWF0BW417XH_W\Y4<\%AY+U# M]RDVR?JJD$[.PQUBQN-O&!=JR=^_%:J-^&6!./$N!>/QNWWG=T*[$=QO$Y8X3KTB:[&LO.%O;+U<,!HUX<$^P MB,&?X2LGV #&*VNTT/2'CIM!H]MRF4E%F'KG#<.? 302, 0?I@H!=*GW93! M]"36;A=_@>H_OJLU1;JVSSY&J1S$T8:S&&-IDV?6%IBN#724B7%+EU@,%#%F#$:45=U@0P4;*MA0P88*-E2PH8(- M-1X;JL$F[MJ$^C5B^0KS*"YXV?F4H'N2DEQ(:&M)09IR9E#!A0EV5;"KH+KD M+(Y9(82X1ENY%(J/8J%)KE[&EICE5LCFJ(3D"K!@@H65+"@@@45+*A@004+:CP6%'SO M=FT/_11Q+&0K<"0[*$\PE9W(HD>2KZ*XR'*V%BNPI:5DV:HS&ZJ17,&Z"M95 ML*ZF9%W=5)/\0LSQT]T4_T-,\-/=_#996K;5@]45K*Y@=06K*UA=P>H*5M=X MK*YF^[A#"RQA<5'^@6@2X7(81^3E(!GH,WC+\U%TW%'$@G5._;?)V?<\[X*1-@Q7)X*Y8)>"4GDLMW>HTY8Y6VCH+&E+4@935:%,O3=IR#N2[XXAF M1")C7)M415U(*1ZAD^S@YQZEV=E322*4PFSWCQSY'Y0\M::L*SGEKCSG=^Q1 MS:8K2[J2\9H)-3G]/V2CT"S,A5U)6AJ49D+D] ZC0->J7_)*U6R6@'% M@^4;KMW.(<5[EW8L;K3J<>=KS)<"A$^8K\3HWB*K'IK9T[[)>D!1_*=;W MF"L%?%_$B53\5*PI2\;5R-66ZEVV2QHS+H9YJ6:5"]^I#([F6^VB#JKE0/8< M2Q:,/&"A?Z'=K-4(K2O>N[37Q7U*XHN4(;6(-65ZE^L&+XDD'6FNH"MTQ7J7 M[G:%T]2TZ-05ZE^R-4K3DR(3ZF&FWDIJ2_4NVQUZNDPD6[D@%>=E6!0-Y7N7 M]W>6BN4#\6H15*.I*->[?'^(\?5?5.C8MQAEC.+D,LL*#9Z&\CW*>QDO^(Y? MG.62W48:3LA<>.I!.K8R,4DUK<0;4TX859$>I;K%<<$%"!\^WM^1O)8S415Q M(-7Y4[Q"=(D5NX>N6(_2W7$D+8S;[?J>I35BU?[N3X2&;OIX[VP'D8C'X'*W M 0+.#WLZ/-[WEH%)%T\'B@$2G4D 1N2C'XAHO/!@*'[P PJ8WQ:,RH]^H )T M9X)A^,C 2/_N%A#K" HS(+WXAHG$]@R'YU2](]*YN MN([FE=ZJ\G? X?!*9[7P7, 1\D2'M>""X=AXHM0"(T/@N'BBUH)B4>"H>*+5 MPL-)X-!XHMM"HX+@P'BBZJH#L>%0>*+CZGTL<#@\T6_USATXT^:)7JMQW<"Q M\$2I-7O7X)!XI<6"//!P;+S28K51%'!,O-)@(2&?<&B\4F,A<7-P:+Q28S4Q MFW!$/-%?STWQ;G!$/%%CSZ$1T7!D/-%HH8%G<->I)[JM[2E-.$">*+SGAH!? M."!>J;O*P'$X'EZIN/!31W" /-%W-?D9X%AXHN J,S' D?!$G]7FR'A!H_<< M,C&C&4M)(CXGT3U*$8UQE*TPSK.HZNT*YR1&J44.3_LV7626:2I5R-_9P]& M1A?$I2E[E&_M@O$S5MSGBR+=WRUR@V-,'F2<;?VIM%9M..WEP4YZC?B4%O@:\W)S5?3-HN90/:IT@UF1KQ@G_\9OTQE9U!BV!R6Y"9;^=6FGDE_O MM\HF \JN\H#] @XK6*7!^Z$=7.8*@\NOSE)@62LDQH7(.U\\IX2]9E4XGB'C MLDU5'Y+]=B[G'<7].0C7:(P-GJ\X'!)T/S".[WA@ MR,C;+&EW"Z/-NR&C!:J)P@[WA?F'D-X$@'.2OB)39UB 41DI?=\>E?:NC9&R M^7;06---8'A&2O$WAJ>C96:D<2LM86FUQHPT<,4.$J!UV(53Z)4_ ,=)!A5D*Y7)'"^M^/#/ M=P]7\4BPPJV]/6I)/^<\O<-\G&0#HDG&,P!D:QF1(F,6*QJ M%W HT^Y4!Q%*VG(Y>T DG:W?DN>&T@ZE ME**1@Z)8(OMCA\:/ M1^WZW!\Q-%I @/I1?[S0:)&!*^/]L4*C!0>FL?;'"XT6&+!=U!]!-%IL0#H= M&!?K"S/%_ASXA_Q;DDS:5#_!:EX%BDI:' MF:\Q173Y&:5HFQ&DEA%6HP/1X!>I'XIG_QC-!4@O:/_HP0A*]B<"O?M1/@ M8Y05Z[68\9(YS\B2EGG^Q:^H.L%$Z#+:L)3$!-NZ!IHT[G19:S->9SN1BUM'8UC\*UD/'\@'P2GUX&IOCPS_)R%LS%JIQOIJGJ?N]=JAMY!$+Q$M_]YD8:)4(UO_8O$=X4 M/%X)&^Y9L7X[MFOWC$9UI^M6FWX/!G(,WHB-AY,XQ\DIRE9B Y+_G/]9D =A MS(D%OOY;#BR2;>.G!?E=_:L^U[O5%_5V:MFE8/CS[WC;UI6 M=7"=!==9<)W9=+Y>568&G=6'7FNM/-9*"9XZ/!VJ8ZP/U<87?,TT>%<*L2\N MIFY&9!NRSQS"04^]"+*EEGM.3[?.?_TDP%]O5:GN%'W"JF0]VE8?JU^>7K>*"XS\+3..Z M9;-!S6%Z]#*(C!XW4)UA>G%)-T6>E8/D!ZV/%%!CF![4C0[M FQ1<_ >9>\G MM'7?C&T,W\L;F6N#"^T=-@0!59WVZ1.F MA4&.ZS9$THD5N)O&O]_&F#:58? MGM2HKM->75)A"^ 7V].LF %JC*$'VAD$JN.T%_-\A?GN*HHK@N[EF1]AX&I' M%:A.".T(H1TAM".$=H30CNY'A9&C8/:,@"_80-0$UFA']@4A2XN>=6( > B> MD3DP(* M(%^&CHT^:6'\^Q]&8LU-^3)B++7L!CRD_P$XW<4@3>5^QA"#9!>#9.':;X2R#.=9M!H3?;Z^$@J7><>.\'24?ZOEWR$G$&"0, =#0&G$%',-)1=4M%N43Y".JGXAG'QR$2==!=> MRP%'*,;W/FU)759%?:'>Y:MN57DE@#+;J+&L4Q[@E-$8T[S*L'Y#LJ\GF,:K M->)?M?'ZT&H#]V7[+);F_ 2TVM!]N1//M^O&VQK#]@#.]]E4';9/$F&[B?*^ MAML>[):<=W)I#[8 :TV7'9]^#P;B]\N[;&[P Z8%_H+K+QP E0UL?6#K UL? MV/K UG=+86JL(F9ED$P=#!L]F350X#S&I]X[;5M8OVERB5MW/;>F;?5G/FD*U_X7C/].$LQ2 MMMRJ?9S@2MT+.*?UL?.@LMV+<_?(P.*\*]N]./6)M@ E.Q#EG#X0SJB.M&+RS."[DX^+G2[,OZ2E*R8)Q M2I!:ZH9-N!">HJ2-X.^K=R!TM5;L'GU);PE=(J%D:N8SK,9Q1*-<L$(VC+)]E!#T/?[6,D/). M_5LSSF6D;37B:/*%4?3RS9WX*Q-#4(BH3[_8L)7I^GRGWX.!O-;E5#F>*"()5"C$$[F,(.I=3^@OF MBX.U7#,QM65#Y$.(?'@+1XA\..2%_8U\@"T0K"/=T1>TC'H.L]+V 8=RL+WX O$Z@1)EYGW6R$ MB,)EXPLFX&463GWZ$A?1;@C!.,DXTO!PS.7ST!Q]*A#L;G9T_P M:>RP!"/UR[$@I?-)^Z+]N(CK&_G6'N+Z&L;UV?A,7$?T??@^2O#]L]C @+XW MM9S%\]4^-X3S]1O.MR[1O6*(SI8?^$)3 MU&V\BEBYX:E'#*6=2_YRED4S.M0%!Y17'BO6CA!3\>E&-4V_!T/%90D%?KX MKXJFXH/+?B6UDOI48+;5W/:%T64N';IBBAK23NF*#BJS'G5M8:=RW^ 'ECX( M ^WU&-!&NH+JA&BXD%$GQ)6%N+(05]8#%:?6N)FMANL+)AH]C-G8A;[@H=6, MF)TNX@TF)HV=-=6,?4'([.XP6?N^1$/IUU@K)M$72 !!J""3V!<\(,N)@9KW MWU,,M]2]&1:&G==(_Q^/[_Q85@J8RF'!J_BR;@!V6:ASU9>(R7 S>0BZ:1IT M _(?.H^V^1 1*DKA*$=/V/H*P>$5'%[3M(E&3B$$FZBA303?NYT;1C]$62ZDN$<" MKT@4WV":E0^+-BEZGLI0.PG6FCNSR4:>8$7U:D6=K@A>G#_AN,C) YXO%B3& M?$:3\OMG563WO3IFO44S723&%4.6;;$N.:^B2 Q:$@C MA[ET%P="R@:S^>)NA6\Q)8Q_1A0M#<2!)@5(%5MIR[J7\@^2K&YR6)G.V(IL[IC%H6[3@U!$P>T0\,1SJJBTS MD)MKOC@]8"Y*,'%RRK(\NUTA7BGYUVA;6B?&T[W=M#I=A]_T>S"0RW+/:Y3: MV'RCO%\#7-ZI]%)KE,=/-%.^KL@@,FK/;=87TVS+@\JZ=?\^KVJ'Z]YA MUNN3[;N5K]P&7O8"FH#>49^/&@-FI9"B,_%*>8=;BQ9"$(,'=UCLS&+-T3\#@:IIS.8@5>8>J_U1C%SJ?CX F7=[L= M&X\O"-2:6PQFZ$P= S/3QSJ@TZ:.$CSL3&VZ^Q)ZIYHM]GXR7X[M:1$QNC)] M&1?FN:%ALGT!P:B7 +E(7Z:&$0\ *^<+%NH) G2W37V2@'0-<^3BU,<#' 9H MX.3QI$A04G53GQM :ZPQB3WU26/ IW$ E"]31ZN#-HM-] 4:I0[2-,IWZL" M;7YM");.&I?H-)KL(K@NJGOS%JB71-\.?4=5]]O=2CLU <[>'4$ MARR#$1EI(B*XP=+Z2!P8JI'>T0B'RO;DV=0'40M%U7PF9>K#QE87:76:#@S6 M2._YA,^QIH?(?)EK+A)%C'Q&A40139/G=1F>_X*AHUP2/U;9%B*.-P6/5T+$ M,LW"\ZN%9I$PM>,N?P1,DI YXFCR[^E.V-X\#Q*I4:A.XH#+3_>$RO1[,- 9 MFQ"-/L&M/D11ARCJ$$4]5DMII/QVL)0:6DJ6ZI-S&^BG"._":':FPRO#P=82 M@K7FSAZRD2=81;U:1:]B&J\/9H(Y-9VA2I_"::TB>"W/K,IQ&3_3[\% YEM( M,A!,X6 *!U,XF,+!% ZG(<,YOZYC$:ST=U\0<4$2C308,)!$;4@B6VO2.57T MUQYJ1UW]!!,DD ,';N[_&Z%?_S^PW\9LS_7%^I&@-GZGN,T M-F3Z/1B*X,$TD_LE3>;Y"O-K)J3!.>'E1#FI5KP,?J5?V^8<9WW< M2P:@N?2%!Y9;2WV9B@<2+)!@@00+)%@@P;H?%89=@]FNTK[@8K;_(?NM+X20 M>91 S =?N"$X&@9#QI?A$?C"P!4WG@#N[%\X-L"WQ;XMN/FVTR*-FML5_B"D&D#8];[A2_(&'5L M9J_1^H(-@,2%*$;><-J-)]%Q1I!9\2"^P '8BP#,YO'$UL$X#E]&!V2WL65R MP=B,]*HGEU[3D=[G$KRF;;VF,)K H:\TBUO"I]I"L.!G[=?/6MFWR6P'_@V.,7F0"\S+K$FWXEOV M@$4QC3.V34.>>6SKB=",YP__OY_FQ!]8< M\-E1:TZIWUF:LD=Y,] %XZ=B?)#\BF69UE\ J3)=)^3T>S"0&W4WE^GR9062 MJXY0;))+^B!VJO( RO8T15DV7]24UKAZ.FU[?*BHY=8ZD3IM.[A]/7#[ONPY M^S4Z$[O/C= GN1@/VL%D4W5$?3+XB.TJ![=E<%N^A2.X+0\)'__=EMVJ&JS7 MW=H7S"U7:=9FU_(%,S,KV8/2[ OCW_DD[XJ*\05@\^ALHIGY@D[S]0[.O?CO MK.S. 359'UQP0-4ZH#HE8EVZI\B2D@6)D?A[YY61#IH-2TE,&D$@O0Q_Z> MT@$$GQA+'DF:7@KTZ9)(557*0I=7\NFS+,,YY#VV:*:#3@A-2.P@<5YPN5#O M,EF=KA!?@@9A@^H="'VPP#5>Z@Y[T45[;EV)SP)=[\0P^+#,%08Y1WK*UO?" MXI-KUVZX*.0W5W J_RG*5F*TRW_.A2'Z@%)<&J$"4A+G.*G_7=O#+IITZTC% M7$B1BT7*L%# *SB5_QQQ*N9#=HWYK5BP,*P3P%IN'9^(<*EYX\\82>VZ3.\) MV&(;UW?;.\:Q6(M/"V$H42&,V.K@@&'O;MCVGO;^D0K_' M=^@)UCE3<<>RRUA$QH'#T%3<\6EOH7CA,EP9.*X -9SVX M^/-CU.:/BS[CR M2=HL#DV;<7O3QFL9#,J0H?3T)!_J?A-.&!<;(6&)L+DD@5\JS*4EFORKJ*C] M,YS%G&P.\[*^[53#9ASWE6TPS[-DKCW2V6U1W?>;)WG@"7 M.G,%Q_)G&/%8JL=G^ &GK$3V_&F#:8:U2K=%3<<]$EMA43K*A!4J!SWTQ0#K MN0WIDHKRB=@7$V&^26C+N3W?["@KH;,(T(59(">'WDAJT5((NO,@Z.[M,1<; M1<:JKF?A:9T07"%P316X!E3+INX:#$%KCISD(X^I"$YRJ"7)[!EX7Z !])=U MYL%BN&ON\P5C]Y -6W3LV MP?C]U2?\H&0;&)V??4*GH>\2#-8O/H#539P1&+-??<"L(:4*5T6]T-_M?+=P M<#Q3U)LX?^!@>:6A@]WH<'R\4LRA451P>/S1S/L.%X9CZI4&W]KK!L?-,\W= MTKL,Q\DO';Z;B#PX>EXH]78A?W!PO-+>K<)UX92H5[I[NP@_AV?VRFOK/D99 ML5XCOHW8PNC#SDO:9"\P\':^%D]P<::O&QG#&;]>S_B]'(F5O.8;;K,Z@'Y M?Y9^5.TYJR[:Z^G@5=OQ:#J(U_A JS4J\C]D#YFB)OQ0R;X P M0N0NE&E?>"=MA7 W#\+=0,-D!.^_@9RPD/5IA3[TMX2%T#M5Z)U^5$T]F"9$ MW(6(NQ!Q=XB$8K=CG>O)O@P=-6 =ZIFN28 ?H@4BO+QG 4?K%\]_0XL?VIPS M\]Y.H&#+]VK+*S4ZZ%L"6;AVK]QU9H&]/TWHIKM FV1.;W!<S_8^\'>#_9^L/?-YFL'>J4OPZ9;L)KIFZZI@!^CY2ZPO;QLD3Q'MT>H#&EO MQ@A8MNJ,&&@D5^ '7/GZ5^)MX.R2[L]:6#GV894[%?C@+$@Y?&SDA=7MDW^Q MG P@&J;1!',>7'!!*,EQ>7#'ZA5VT-) /;X4"]BBLUXW:FV0GC/=&[HH@K44Z"> O4$#S6Q ML=Q\&2=@=&R4:_@)G*F"TZDM H9KY">@;>!J:+""H1KY:6@X5-V;=:ZIW9\B M7B7?B"0&488MBQY)OHKB(LO96BB+S1C>9HT[(WK;B!?XWF'BP9J],Q M MV68X.++&STB&EDLN8"^S RQVB7- 1KI5W< Q!8YIS'(>'\?4<'4*5%.@F@+5 M%*BF0#69K;H&&I)K<^WGB.RR #9.O:%KPIGI918B&%C#&%BZ-P,RH\RO=H# MAEWFS"K]56X=R0"I'DRF8#*-6<[C,YFT*U$PC()A% RC8!@%P\C.D0I7A5S; M1K]$:9G1NIE9I*CMS"+2/C\80_V>+B@VXO7*=X%2F;/D(F6/EW0ANEZ^W3); M.B!LOW$K?=ISBG$%,N6T8]*1IEMFJ3]E&\Z9 M_AG)NXWR+;!7C5L*5FFP2L+P,# M D=+_=#_F/!.+#37C,:O$9/WGD9Q1;9$Z4M"B68D![Q!9[R'K4B!"AG&+PQ_ M3R!JP?:U.[)@JGN&*YD.TK> #!NKNL$N#W;YF.4\/KO<8D4*IGHPU8.I'DSU M8*J;;=,&6I%K,^O#]U&"[_-F)E5]96?FD^[QP51RE)-N7N3BM="DY%YRN3G/ M%Z=BPA*]T[)E*WU:>_7#"F39Z4:D\\C?'?DE%ISYXHK1Y1WFZS,AG64$L%TS MP;8+MMV8Y3P^VTZQ)@4[+MAQP8X+=ERPX\"9IIHIJ;X,&)M0Z28ZHW/+]T-$ MJ"B%Q<[XU-2IJ&_$G24,$"-8Q,,X#_7O!F96 EZO<_/RE*TWC H9,WDT0DIW MAYYV6;Y.,,4+ P/088L#(7"V6ZR%E%76LQE-;!VG+5L;J.?GBP6.<_* GU_3 MC1BP;^[OL.M^\R8'.U@MY3S!"\9?9!9+G5BP22S>W87XGBQM86C5:B!? ODR M9CF/D'S1[]R!A DD3"!A @D32!B[@]BM=21?!I -;"W-*__CY#NUR90[ MO:T-YYP"_$'H:T**>R0@C$1Q.1?*AT6;%-&&E*!5H^XHP@9B!9,V9+2OZ-DVO,"4OD4<#W%P^K>;9^GC<0 M>O7BE^]\OI%_VHV?[AH>'(]KM)6S?_:(>'(HMKR=N7K'65:LJ^\:8]/^(8&R M#)3EF.4\0LK23E,(%&:@, .%&2C,0&%:,25]:N&^#"T;0+O728^1[^S&ZCD> MZK,]W^"<\OPYRO"R_$SH@O$J_4M#IA/2ECN"$RY-X#5[Y35+5\EGO+['O(ZC MK/FY5S(5,BY@'"I\A#DR:&5L=7G_:N6=.ME^PFS)T69%XAG'"$;L-&O$:3]W MMQ%=B.7Y7,Q=3E%ZNK_UK5FG.VAQ*(JO&H(W>",OUZ7+RY>A>++=_6C!Y35I MS6W/*R%J%U9MF6&HNI,B$V9.ENU$RFI67ZLZ@2 -!.F8Y3Q"@A2D!@1>-/"B M@1?5[FP,M(%[AXF9*#7K [Y0?."!HK<4>#>2!KI\H##@MJ\/QFIW,TB<\Z#_O1?Z8B_FP:9G&='8 MH*W RP5>;LQR'B$OUWHA"YQ=X.P"9Q=B&0/W8,,]-%:>'!J(V4[:B)#H81\( M&"&:R"TC)8LMHS5]N,XV&O!7ANGG$=EK[6:R,%*"U9:L-*"E1:L M-+65UE(K=.ZZBZC,&(XCMHA8=94SHUF4X!R15&P 0DJQ+]CZZ:P:=>>4:R!6 M,+_Z/;"R7'+1>([G"S'7A>YQS4DLHRIRA;VEK0#3Y*"BY?D*?T;\*\XOLZR0 MD_@6"6UH)@0H!Y7FG(U=U0Z$/67K-][.SJHU MXN[U$G$HHEU-IS:1C!>1YYC%'"Y71/%2Q>J7;Q76D:IXLS'0_J051AD^933G M*)80RALM-$<[3,4'EUU[G,9J@.DW_!C^5/ M:JPAE8>: ?7"20,%-^S8Z[I#]:NXSTA"$-\>3%7=B3]3><^X/TMU9'!F+Q!9 M[E@/"W3+R+%AC=K>,UA,+IB#Z6T]&BPV4V>MO#1DM-,V,^/Y6FM$! M9>]] 8/SX^3!:<68@''Z:?(XM? XN7:,?XRR8KT66IKT%F=D2SG0RV6N MNI-L>X,W5?ICN1N*A\O[RL0CTD\2PXN")MD-CK$\T%_OA6_18*?.^5/V(+D) M\009*C-;RSE=/:C&A0.HT:EP^UOA2@QT40VU!3L593J1 AG/#SPJXM/+&B4^ MB-B+K8EV[ BA_[U\J0O52U?W>NU0W2*PC MBI?X[CR#32\8/V/%?;XH MTMDNE/]E09;W&3P(LT3I]K5M9B /L%!#.(ZKJRT5/3DL,I"4NQMQ3PNQ&]%X M>^ ]^R2&R94P>*K;=._0DZ(3%BT,U,=+*A0 \9SM'YSD8@(\JM['^X(#2;PG M"9^S=OU&B3&HZ77A@23?4W;7J5!LA$IX_F=!-G(=^BW#8IY>D84JS 90<[@^ M/9"2#WB_X*@[HZPR4"]>+J(X1=E*(??K0J.05 P%^8\<#@\HE4QY_;>:X)KV M#4Z@_[5*3)=-ADA"]Y&$TPK ")%=(;*KKO/UIATSV%@^]%K+2K!61MO4X>EP M: M 9]ZOV&#W>R?\&'M[,3:D-"^JD/@K(\DNU^6,<\D?EVO Z4K^>4FKK7Z^4%1Y M5J4^J,!P\_2!0J7@O7L6M=H+\]9PO6UPJ !6L864YQ=/ML]__B<1,O)XM;W" M#SC5S'.[RD/UZ_/+UGC!\9^%U&1@G3+5'*9'EW13Y%D)[P_:J#5 C6%Z4(>K M=DFVJ#EXC[+W4\&Z;\8VAN^EL![%PB46-M@0!%1UVJ=/F I@TQE-9LF:4)+E MHZ#M475@-^L>W,JAJ@QAAZH)U!H#I.>S'/5YCO-O;] M1D^P/L885"<$$8<@XA!$'(*(FQ-_1MN[*L)WN MO)!'&!D_D,?;=;S4C]&2L>21I&EY/;2H)CI 9# @RC+<.FRJ:?/.HJ?:"1B" MJ'H-HCHC67FNHCJNH,(7ZLCJ"!5![ML+_A#)T&I$HALTC(+-)?9I&1 MOF^7--I(7WV@T1HP04WLR2,DRIIHZJY9KK]&:_0OQJ-XESFL+:T%;L\9CV4I M42"NCN[TGTK47;Z.SW+X[#/KU=ZV4E^R4T9-= ]EES03*UI)ITL?(=\P+D!( MU!<#P6LY8-(.L5'01.I"O[]2@#E-1C&LDY9C%-&Y15RE?_DAF1?3S"- M5VO$OVH/!4"K#=R7[;-8FD,:T&I#]^5./-^N&V]K#-N#E]L*5<=A=54&8B7? MB20QM9L:[VNX[<%ND7DGE_:\#+"66\95WM]]@Q\PE1>"UE_ !RH;>.W :P=> M._#:S<@^C9[)K%2\J8-AHWFP!ANDQ_C4*Y@ZD+0*MB](F8E4L);K"[UN.[EL M]#9?,&HT;#0VGB^X-%EX (JS_VX;")TT]4%B5F4:L8#^'RT)N?"#6U/AUH1Q M^4?HS;1A]EQ[,7^)4HPRW-9Y:6K&F<\2)DAP5?;JJIP58NZS>Y+B*_DR+AC_ MG228I6RY57O5>V>W'JH?C%94#@F"AB7W"?(VH9D#9UNU W L4ET>PQ."=Q7$A'Q?/-[L#6I?T M%*5DP3@E2"UUPR9<"$]1TD;P]]4[$+I:*W:/OJ2WA"Z14- U\QE6X[@"-LK$ M]%GV>I*<%_(B#360X$I]"7BWDD;Z"O,4T42S2EE7[D#@6U:(QE&6SS*"GJ>! M6D9(>:>>L,,3J#.:?&$4O7QSD*U?GWFP82M.>UHN"/)0+1>R%'*KX&M-J(&I M^."R:QWTY@J.Y<\RC'?CG2XKE4:(5)UREC(J^V&J.%#,Q&N1G@]E*[JA*#T* MV6_(0MJ =OZHRQ'[.UO$/LW^7ZNDOTT:1K-Y@LV9O<+3 ^?NJ/2 M9JRT8+U\\6J#8;(D+WP91N9I!=!D? '#N%M9\/^^3*!&F'B=9K,1(@JWC"^8 M@)=9.*WI2]Q(NQW(S$J#<1IY]DTP3C;^&C XUO=XCQ0<2ZM;O*>*E,[O[(OVXR+N<>1;>XA[;!#AU]93<(1!D?8.O/X6F=&"9.5< MZV\%F@@^2O>IZZ#:#]]'";[/6\;4&EIQ%E(+DB-$U/8;4;LNT;UBB,Z6')=O M1Q.6:2S=12)M,29>CL:(+['\BJ,EOI$CL4Y,NQ8Z30I4 M_^CR.>4&E+&4)/*4ST4AD93%[]CA]^?W)$\0O%?63??8W3..'J\Q)RPQR_]2 MMD>!+L5*)!:M,OO=)3T7B(EM[@PO4)&^#3NQK-VIT)_O3A"MSQRB_/VXXDCG M<45P"(JPM@0%*_%!\H*$V]1)\O%CB6MVR]G((#=#J?B LLME$"2U+#@*M'^CA;!!3QCG[%'8@*=H(U89L2K"IXFVA8'Z M* U>H2B6RZ:B$X=%1B E8-\R%1]<]BMI,=7GK;2M-GA?=GG7WPUKBWZIFAAJ MM#&ZS&7$FS26])D@=44'E5D_MK2%GP3I?2 'O=@(J M^F"N.-#HN<$/+'V0H_CU&-<=7 +5"6'^(95B")@/ ?/-W1P:6Y/96@V^8*+1 M$ID-K^ +'EJ-AMGI$-Y@8K(G6%.]W1>$S'$<)I[+ES!O_1IKQ43[ @G@= W( M8/<%#\AR8G#Q^!\"![>PO1D6AIW7Z#XZGJ# 8UDI8"J'!7O@R[H!V&6A82F^ M' 5Q$4T\\E,>(9JX050CU)5[C%'#+7P51Q@_;';<'E'0L%5T6W][T.APZ< U MWM]V-5JTKC0^^/Z.(8X.CI;QF/T=2)P"4IT%!_=W6G%*,$(CQ\%H_3IYM)K[ MYN'*I:^*MV7 H?-#1A\B0D4I'.7HJ74"?V!K[@X=V<@3#A\=WMQARR&3J%>91']':5&] M]C1ECW+O/=OME^)]EV=YA=9"EV+ :&.7;9N!C:)IN;=#0%4(J!J:C'[;;%S#\_+(<GS/XLR M^?7>-9G-98[PNQ6B\TUY3S];QO,#'YOX]$+2B __A!,BP-*]2[R+5U;*6/M[_U(1JI>J M[O?>I7HVK91R*4KT+EFI$M70@K6_N9%&B5'-K[U+=$?R%,\7EV+'>R!)(0R3 M>JRTY=Q+^0?)5ST;$4V=TS#2;=HP6G\0;G]&O(FU99Q&Y&SHX)O,7\0 MRW*I1)R\TS/24AKQUWPA74U+2OXMU(PRAO^497EVBC8D1ZG\5AM,T=/3!HK< M ?7F"Z,/8O/&E;V7W3$A^>'OLD=?6/X/G+_TM0UZ39[G&W[56!$VP.XK6>Z# M:U!KA1@:::GC5L:2-A&7L;S;Y&A"%Y?Y=S0+:5V10634)IRK+^0X+9O9N0$J MZS;FL'ZC>&?^GNA(MFI"JM:!+A\Q5"1ITR[ N*;LDM8FL'?]>._0_;W<6O;= M*S<7%:?/F3A>#XBD)7?(>#D#>X;M[>.F MAE[M8O4'EJX=H3A61^/*'\]0CGN;X,VDF"C6U6(UH\D+\R^_,CD;7#]^:NA6 M$U(>67S9";J&L.X98\4IT^I^)7]#$Y %T.>CQH!9*:3H3+QZ?V<[# I="^Y[ MV+5C7X=%U\\:FB_7#>SZ_S?M4LT)!$-26&D%"[0=26 M"2<)PTE"OT\2UCMPF<&3.O5>Z]V S*7:Z N4=6L\ RVOOB!0ZPIA,"?$U#$P MQS:P#@((IHX2_,RRVJWFR[EMU6RQCPST):>P%A%C\*8OX\(\-S2Q.[Z 8-1+ M@'$"ODP-(QX C[DO6*@G"## <.J3!*1KF(];3WT\P&& GO;N+SOR6&:(D9": M^MP 6F.-70!3GS0&?!H?^?!EZFAUT&8'J7V!1JF#-$U),'5@P#:_]M *&(61 M7W^BG3G=)'WP!2J]!JLX3C3UG5E+M&N.FTU]Q]7W6WWX;^J#';PZ@@]I@A$9 MZ2U)<(.E=1XO,%365U*,#2K;=%E3'T0M%%5S IVI#QM;7:15ZB\P6-:7F8QM MCC7->.7+7'.197CD,RID&6Z0,K?W8QW]V03>8VHZ\]&?V3%::)V=\NZ/^#D^ M;$&'O?NS):<->/N$#_VI.*-%MKSUG_X5!.WY ;*/T] M'.*CM^D:W?7R@N\XKE8L?XQ8.5PB).^1%"K0\Y6#%<(KG),8I<_8=73O8I-' MC^92QN;"AQL;>[VQ\>4].GBCNQZY?_ 8,CN!-=+S)[$8P2&)C?]);%P&JHWT>,$4 M4&0J)7&LBP&3JW0W[ MKX34Y=J9M;W="K>3#&B[6#RMF-RMF#G&+^WCQ/WVO.EARM M7\)^J] SY?T1L-J#)1U])9UT&-P(%55LF6<%?PY>JIPTL YJFX#UDA= M&;3^H/5/5NL?G3^BY<9QC(=.6NQ SBV@GR*\BWW?&0:OS(*V=E"SUMU90VWD M"S91KS;1JYQ]U_M51WM#-K"*IP9;U[>_GY$LEDMZ[4VI738]D*T1KFOLT&YK MR@ON1\*%V&<_(_X5Y]>>4!BJ[]GZVA98$@) M=^&DU2C#O/Q.)W!=^7 )C'\<7O6:W]L$2C5&2WG9MS8DQ_=>VC)V72FL7<_U M;076+[!^Q\;Z'?-M&W#:[\COD;"RGWU!Q 4?/M)DDX$/;\/RAG1-_3#G[179 M_N;EU)"S4X3!N$W_3*Z9(0"#X=FI60C[ ,8F'(!M0C>"X3WV,Z]Z/X)S7^I? M7[R)]YCB!=_[299,%SVJOG]$R\!RKG$LTYN2_*%&KBI>S4 /Y9 M'F@6&L+A[Z]R@]6Y^MJVV8QKM.O@+CW^C%(QXG22"9'V.I':N=GY0SJ%8$(. MZ+L5_O'[#_^E=]TK"W4CP&Q]SW&:&F50EG/*D!LFF]SU."Y/>?/M8:':P=Q- MHP/Y"AHL.[M3[LU0T#0X.03FB_+'SH'8M3LN/%XMRX<_9J;%OKN&)XA(H\EB MT_) F%3QEG); T3YZ L/++Q.?2W?&^A'YTMV0ET?D8N^% M_SY"5WL/;,(1^N@[Y^V.T)??/=5W1![[?OP)SGWU/T<97I:?"2TO>"W3Y+5T MU%LUZLY+WT"LX*(/"9]L"=5]8.L-WC">2SOGMAIV*B)872$<=PL4=J"P X4] M%?9IL@1<8)^4"BY\=W*NO/X:9<5]AO\LY%?XH92II>IJT:0[Q=5:J*"V]JJV MSM(%JJP'=12=JDP7CR\M\RLLCZ]44>"U=Q[4%#O6V,L_Q%JX8D6&9S29+Q;R M:NL-BK'Z[8$J.-5Q9QPCN0B+(5TN#]><;3#/MPIM5U5\((OBI,C$'I-EL_C/ M@F3EU3SEGQSK(WO ]0;OC3JNRE!Z:,GW%RL*!43L1KMC3W,N_WW)3[X_IEG] M"N]H@\8''J&G;'TO%B8I_"FC&1':7/GACB.:5?J<*J>P31/C[V5YOV8'7:W: M&:B_Y>Y7TJXHEGO*'>9KS50U%1]<=NUB::[@-FG;3NFX8[LE>S]HK9LSJ5A4ZN2@+9F63&4'EIR[:)B+!\8U,"@'@># M:E+D66.[Q1>$3 L=LUY7?$'&J%DR>SW.%VP M#QD _7&2]%X$AUG\+05S^(+ M'("]"$!#'T]8.$PSBF+5S@I4AP1$CV@ MM*A"UA%-HC^%E&2Q)709H;C,_MQ M0E:I8$]3E&7S14UIC2>RT[;'AXI:;JV/L].V0U2"!U$)O^]UB^?5(2NOK\TP M%^/A5)A?2YS+[\R>9K5G5G49M#;1^ZF753B*;JB/JDR%TPZYRB(4( ML1#'$0O1K2+!>MV+?<'<K;A(V9+$.E]5;9$.'G[Z/"I>139SPFN88^=1Y._P_A0]NK*"?;_>2O MC'>=QQ!29YA>O%K RDF3S*E0R HN;_X]01G)?J/L7JJR4D&[I)LBE[0"C46M M2^CJN<.@^?EEW?F#Y*MW/=^%U?Y^[\TGT0]K:ES1.BY(G*B/N MY(6F'*^$\4 >1'-"AU)YRP:3)Z(??'@!^PMUC?.YX\<-Y+#T!3WZJP_PW>(\ M3[$NUVE_#YP:A)FB2V5;':.G?5;T8\"M$6X_A9"?D)S7(IQB5/9?"-8XGF"- MD+C"Z.D&6;EL,&/0%YP!X1APOL$7/S=X\+5@Z$#?%WO<;?*>GS M+MX@*$ZKNZ'BR/?R:2>$PNNR_WD@#R!4NF'\;/O'7S".R9*>BH4=TWA;YI)* MR]5GK[L8Y#XR=0Y4-_A'@W^TC7^TDW4W M.#R/Q^$9[CH-Y&=S\T^E%GDW-$ H6.SP1\@U-E?R^F,/1\VMJ+3Z,=,A,O0* MK>7HEV%7\E.,."]S33X'8Q%A^2\()3E.R0.N:[!_+J47.4=)Q/38T\#BC)_% MZ>7U=TX!]3A('=FFE\_274GI+I^%FY6RG3])IXWHCX')L6UF(#YJJ-X.PV\9 MQ&Q,>[5N=R VS"!W$Y*LBR8#=Q:X,U?<63\;5B#> O$6B+= O)FY@;9ZHG=# MJ U:@;=K 5Z@\_J:LM[1?F.E^?RE]0*-=U0TWCAINS'1=+,UXSGY=SEEYXNW M:[#"+-97BN@O@W3EH@=&JE6;0^6U4?V'165ALKST4-/AF%,-4(U80>; M-A<-DZJ#^7A]$'2."EN9C#X=UIT"/VMDQHR-#%T4NK[% !^\ZPKL[0'KB.2T>.1X* MTUKHP$Z.E)VT>)/=$(_60V=XLN-PZ=_="/1%#.B[1YP^X,^,YJL&E >@T?%1 M<35"_P,C?B'*=H+ OK'I])P5JGO6FS4VF9[?B2=W]]++UJ;3]T?67<\?V4#] M#@3G!,DFA[MOX"X#=QFXRU%PEU/DE1HHN/T-)4\ 5"@,@=!LJF+V%\7H$7)U M=DE__*9/P-68LJXYSU^B%)>Y#M=(J'[5W1CE71KBRPXNMFW:O#,NLYV @;<< MAK=L^M9 '&6[(>'(VKW"8F7!\TUYW0%=7DGA7C*8HFWIV3Q3W@ %K1[],.K> MS19B.S!0C(W:&HAS@;-C?RWG?TPM\V,]Z^JEEDVV8F\&9US+%U.U/H MKY(MMFQEC'W]C28D*V-N<'+^%,O;2,J@R28]5K4U5&R^0DQ%UPRE [4?J/TV MU'YCI370^('&#S1^H/%UU%97=L01$O@M=;@CI.Y;Z_A'2-JW-0/[H^O'F"FD M'4$ QLKZ$J#)#R\MA0;&[:_6N+$[#;6^>*:$QJ3#4HO*=1C MUJ;-*>!@]+ T:FPR/5?[6AHT%3*/!/:^&_:^Q;X0^/O WP?^?A3\_8AS8W2J MUQQE=I$N%(3^V'RO@*O3*/LC]2<"G1H0-ZS.SQ&A#^(3XZ3,@/;R=S,2!]R> M,\[&4J) T0Q#T8!?$XB1L7SISB[?J>38RD,EV0HG,E^X3)$S7]R(0<\?L/J. M'7#-87JD3G)Z6&2@N/-G$6[0H]BK,"LV9=)U8=+R::US'0":=)_? "Q4X+5ZY;5F M1<[6[)ZDN(S9NV#\=Y)@EK+E]C->W^.W)WWM*G4OX)QBL%SORG8OSMTC XOS MKFP'XIS3!\)9N=VA] ['*RK?@M@:+^DGS->(:MZB;=T.Q+U <1D1*D;,+(X+ M^;AX%S3*Z"4]12E9,$X)4DO=L D7PE.4M!'\??4.A*XFZ.[1E_26T"7:,*Z9 M1+ :'8BV4W9?C[R[%1;;L=#Z4J'496HIK2MW(/ M*T3C*,MG&4'/KTXM(Z2\ MD[0T@,W6+A4->/=V=NA?R"-4_YRC."_D:L;7-5LIM/C@LM=J)O *(>] \EO MR'(ES*/?LBI+&DA^19U O@?RO9/L"9!U-O#OQ\._&S03?5$6703VC%P1#($]O2;[ M\&1^6$"B)0==!QC\&C&YD$5Q>7%R_BH'I_J79I$'G3S+64A"A]*&6(5>8Q7. M=NO#)XYH7F[8.,FJF\#?TO7@\GWZWSH962#'7(=CV)$70*BD8JE.+JF8G_@. M/6'%BP27=RK]29&)?2#+3MGZGM!R*9)*IECYA41E"&*R4[2?]T5]]]HWZ/@@ M3X[%,IQ?HZU4EO1]TQ=V?UQG-Y2N7F:"7GY8)??]L.O ^](#'6H3"W%2Q/D? MB,ME>5L"B]+3%&4961"X//P@-GL5?[Y' *!+%Y>W&Y<.B38IH]6/$-E4HY0-*B^I' ML=46ZTV;XW8]/-E=>O"^9 ^$^$!YP[M_H2 >NK>!Y(J5?D0\N1-/U!P>J2WC M5,ISL2"P+<:W$LWY1GD("5S>+>NT$EO0B1P@IP?C8R9MGV4YE$ZV+T5VMY*4 MF%\@PG\70T:Z4_>C15Y?'^ M]4^>+J(W)/MZP3'>6R6N\-0]=UQH9JINO:RS-+D6F\<7M,;:;AR]0FKT[&@O) M%Z^%<3P!;2Y?\ CQX\'K:S6'WX.J8C^/RX+JR1L?L MFXI0G(O9EF\=>*.4SQJE_\D@;? XC=_CI'R%G?N8#(-E+!RH:K^H[(;L@O$% M)O(J1IGQ6*QHI K7R"[I->:$)7]@>=0,)[,'S-$2GS]A'I,,7W,2=\XV=RG3 M5-_"OH_]8[M_TKN+Y2<"6AF=]MR+3YQE2BZV^R<-=2%NRY[,BUPL>30A=/FE MT+AU.W].]&/ RPJOGZ:.UP ;!_#ITQ^+(\9VI.-62;'/][9]9Y>A)@6 MSJ^WTB% ADL0+KT?TL7<@YS">+O,L@(G9P47ZU@U LK!DAWX4IZGH5('MVX( MJ&)/BY)W84H'/_KQ^-'#Z<91^_DVU2*7(YZ/\=!([Q9K?V/L>)"UL?PFS*N_5D-/1P(_;7"FXHM,=^5'1O>[57DXSH2.B1WT,,1 MTPF,4 >.%#"P(T^9[!S1MFX_,/#6"9DK7>V<>CFFC5X(,*[6J9N/!5<;[GQL M040%?1#MB)\J[J;G,"+@TT832&0E;P@E&FJ7>3\SZ*\%DATI"A-@3)!RMT*T=>:D\QAU4_PD+T$ MDPLJ@G91JJ=O-O&2&S@3<_\Y2'@H_*V$\^2]O&9FG"/_^O%3"PNS[-[X!GY# M^3QY.U_83H?H)SC-]OE3"ZR:'+XC#:YJW[_Q+2QPT?P=]9-^*[[-E=_+?@^F MY[Q^O'_J_>O^C6_D-Y1O7&\G)&0*T9XA]!%*_(7@Q^,)?@Q)A$(2(:?C"<"+ M^X)%2" 4 HL'S0:W*$.8G&YQPYSKCEH?BS$.T\ IHL M!$([#@H) =)#AW^$2&FW+ML003T:CZ##\.I8",I2DJ"*]=U]G45L$<4H6T6+ ME#U:Q$];->X^E?(4%V[>,W9 F>9&/HH MO<#U?0-7CCZZ$/D6I5A>M+DFY:.M)%;4[45<>0$H1W'^!\E7IT66L_7+;8Y; M.0)>7W.IEQ_86*=O8'_C[878Z%[EVK\N>+P28DDO2C7(ZSK1H'K'0LLYE?[! M^%KCIJ.&H7O*+HK M\U]_83FN/8>A*>'V9,OSX,WVNY!45N_8#1;:2TQ2+$9"=0?X%BB!A# M,BU]&\C"AL*VZ6!&&[_7!7IN&/9*TZN MVK/OT%.9K4+\>RJ^)+D:>5@UQWW9XW#1I(O9(GI-_HQH#H4E5 MMQ=8EQ-QOCBEG1YO[X1&ELF(5T:ET25UWA.\ M$&7$5% 9]'"4,<2]H+,:65I"@5>H)YOI:6?/YN:BO[!*@_5M8,%ZQH1U;D3 M12G7DKXGOZ2R+T3::H+5C?6:D4L]]D?8CEBL 4VZ]%)UP %5SU&^&D/6+ZR^ MA=&\.BV/">XGJ)6!>[JG/&]P6H8\[,1[[S]HTL1HWJ=T85#Q9)MN'=09S^1[ MYI9.T8;D*#7P6?8-C*5_5_*S_90SU!^Z=](;7FE&>9.9IJ@_FFE6RO?BYIEE M&5::6,#:(YIZK\5K_/YJFQC-*[SF>"-4PKT!+"_-I)D\BU3*;OE&(8T-]X*K MY7W[!RU]K\X9<]_?%X:ONRDN9H78' M3;!6Z<0VO0[;^DY[MXN-N&#V,[3MVAYXDO[!BJ:26 M16?J@W?U&%@W-W3W[U@9RL3Q*_KU,%+(T&%S Q']=1Q=O%TQGLN8G&H8EC]" M>U=7=[!W=Q#B)2^;$&L+EI$=ZS6C9<2=JE/0>H/UIO($V+PGJ\K#]YAS>[*3%?7#&ZE A+![6B$ZKBXTJ@I1!>L5(/PRQ,-E&26%F$&G0ACT 8 M-"9(%1^2/?4@Y_-U0ZJHP;HB;F4L-INTQ FE^[=[21>,KZM817W*Z'/-C&.$P5M&S]',N@>[SH+@O>>J*SG^D!\F)X!U#I+5;FYY\Z,$"'7+I;@"#%D3 P;0> MK$J?$-0=*_+,5NP:ND;'"7HP 'W"%';HI@?S;I"]HW/T(,?-^C/"!J @^MI0 M%"> >["D_,$.?O"V/[-H,C"VRQ'JB[73]1"T..+>7R[M*4#8(N$K7*&V]HI- M9O9J-Q!8,@DXC-;N+@]@!!XMAX-HS2),!L1N\ 2=1?6%:>P(PP;G1'ND&]WK0=W V#Q-BB_#L94^!$Z;TX,^ M-*;)"\%!,7D!Y]8]\YMV@R'X0+8OT0W=#SW 87Q?K+YVX+6[#JJ'G6+ZT[>S M]#+'H-188ML\FU]_3M4I3?=]*V/+]-^CKW:J0WW8:V'Z\_U6EP +W9SG1_=: M6MX]U9\W>:";F2?X2II>ECWRPR; .[*;I'CQQ4"V[?QK'Y_Z[A%?-!,@W=(L MY:8O@\B^^Z^R0*@21'GC,6H"CZ-;OE\P_H_OWD$LQOS7@XOK97=O\.(;^>]O M-Y>OL %<5D]9CJ,/'R)2KAM1+A>.*-F]-ODQ0E7,,J))E![$!R0X1R1]%EQU M)V[W3ZH@RLA:+)%[E&I!VI5_-V(E5\?4'WME3 MEKW+$@JKU"S/-%3$790)^3>6^B(6$UZJCF?X :>L+K]NRU;ZZ,+KX'P8R&_J M](7Q01S3#5FN29J*F7LI=B^Z)/=I_6!MTL1 ^6G?B\C5^?WK"P]V?? ; M89YST$"E?ZXPT%4%[P0Z&/9?L"JGJJ'66-Z&10?&);4AI2VDRK!]>-F[Q>0\ M19QO%XS+'"G@::UN82PSI8R'!G='%AZ+Y,]Y)!J]&7WMP7OVYDCRJQP^-#G! M%"](GNW]R?O/%IUO]H 1O?LW'9#6 '\H$XR4!WA0FLW2E#W*&)D+QL]8<9\O MBG1_.K0Y4I8/FA1B?R"9'23?[G_J%*6WC8\%F=]16E3C?O\:H=U^7W.H*U[J M[3F-DFRO=S=K=UR 6"DE^GHCZ UPZWY;8UROQ/:Z)(++J >LXZ\0?U-JT'2D[?#SN"8 MZN_XPZBQZI\RZ>]HQ#2!5?H.^CLI-T :B]8P63B\^@N;G.8(@Y/P_44+CAJY M9N$A_1TK:[JCB_HX)> RPB67N+\Q_G(IS*P<87&&>QF5>[;>2.@FA9X7?DS>Z"3? *RWN/= [7T!K1!MU9[ MT&#QXOT12\.J(HT&&21DV/FIMN^C1.8R8D4N?J'RY'64XESRG1%;1'%I[S4] MQ]:D;7'Z%"HY3S;-K2_1Z MW*G)4(4=<&H^"1R%&56,TP6*RW2]-6/17'! >6NG,Z2HXSB[^_R2BCVL*.]T M56.L+CB@O%_0&FMQ-A5W*GOI.S]_VI J@\F9F(X?%'+KBCJ66:X(\T4U8&M7 M1DC1 63.]I+,7Q:XZNY*K?SF:F[[0BC>2[1?+H!#"%YS\!Y=4J$4-^J1HF8( MWPWANZW"=QLI1R%@]W@"=C7Z$+/5/WS!1*.',QO=UQ<\S!'-)LO%%W<5;&28 M-4A?\#"/#).]Y0L2^G74R+KT%WD\/AATQ)C+ MTMD<'BT/X-U2HH?'R+1YMZX8\+!AP5S[+#]&6;%>([Z55GA&EI0L2(S$KZ@* MBY9V^H:E))8NZ2Q>X:1(<6FQHVQ5_0>_9)PN3^#RYY2DU>_-')[N!7/F+1VJ M:\'5VJNK5-;X0 M0-/;QFT.E/'NM3R*CM47"JZ,X,IHX\H88-T,?I#C\8.$Q"6!L+$T,1NH*]X- M%2U .D6@/W9F@+!J^'CI3.%SS5C\&"UWQX;*K9,\'Q3:9P%[_TTS!J+]@YPQ M"EV)&AB"7AF"TR++V1KS$Q1_3=E2'1:M+=B!(.[E:&\@5G>VK@BF_IQ:5'#:0\N""4Y MOB(/^-VAWUD<%^NBO%IZMF8\)_\N)59TK'E#8^GOR?8S^A?CIZF8+IJ3 @U: M&$L/=;>P0*N-I2\O2!M/231L92P]5=]Y JODM!_[) (*B=_^[%2V2Z%,+UK/ M_X:MC*FGYT^[JX@-;\NVF8%N,1BJM\/G4M-#U:9LO8V5];K4IL*CZ ['H=OK:,6[\@7DI+4#N[:\L, MX[T\*3)"A4&^$TFWNX+J!)^Q>Y]QYW+><91@N;/H)YNJF'M9UXA_!3=*2?85+/Q1_L"4!;+UM^(.CV4DI\?/5 M53@30T=,#Q*_ :3#%L>.P/E3SI'8>@A%?%LNY5^8^)7F8I40HBW%(HYEJH_N M$((^<: L/0UZ="$^DJ4Z@+QM@R&2,V3_:1-QV&H%#[&&1QAK&/+X!(H7:N1U MI")Y-X"ZAJU6*>B/+QYM)B"'*N?@;,1B@>.(Y^>Q1(D5Y)D>7 M69=HTT'#U.NOJ)I'G[OM:T,@"5)40[%R..9O@$4[P@>BKO M7>E!:;AWB]3I"M&EP/QLI\J* I5S2>8+K73>-&6/B,8J*JA]PX.E0:@5?+<5 MO1J&9T2,3JEM$Z3.C-"HM7'U73%D9_D%%D8/2F_W"^RK_M@ATNX98T!)V#I" M!2W$:G6?XETO[#"H:V%<(Z%.PMN5L#A/D#!99:BT^*::Z,S@S.BH[3&@,L]7 M\A34[BMAYVKH?)LFQO7N2]I **E70HKTP.JWZZBIE3'T]%D-M^S;2[VAE*[@ M59H@$SP60RBXH((+*KB@@@M*ZQ#H17'O;TB-+FJSC#&O#N&I@6P%4/9WV&(T2U\'7 ?/9R"&/E2U]S@[.\@Q!@G M82NR 0S5+[Y/PA;L/!C$7WT'T9;;ARN_<#-B(LM:2T\F'+GIVPU=\,=PO'P+ M8S.Z6YV'H/T093F+O]Y+=3J*#_3I:),B&J&T9#9W#%XF->^:HGBG)S4,.^M3 M!G>A9OWW(H27#73FKL]7"XM"ZG]P.?*TS"I)<5)OQ>O]U;#* [DK9Y+&N1-/ MU&3RKRWC^,ZY+)\O;E%J2#&O+.?VYB2Q2W*4"M-IEJP))5DNF;2'O6&N[8%5 MW0'\2/L,/.&4;*1AD;%G4 M=-VCW97(MW*[,/5!7=;QS2WEL0P!YF?$OV))E4-> K2:V[[4[DPSSB6C4295 M/=F^E+E&6_E=N2V\[ TTN1:;NO&JJCX?%:)%0K1(JVB17A76$"%R/!$B$-7G M'<\"TC)\0:C>J& N-PI?H#3'XF@L.%\"DHSC": Y^H(%)*LRT#3S!1++!=E M)/1WHGW4J-C9+KZ$ EF"9&UE^Q+Q8XE3 Z;+EVGG(GYXY)-JS/'#HW5?-_,D M./?._A+]62 N4$RWPC*F&4M)(J6.%H0B&LLH#O$9105%14+D#[#R#1VUCL1Q MY[-UVJ'@OAW(?>OH+<,\N4Z'G*L<"[L,@]>8[]=399+5VK)O\XP/)/<920L! M+5#R7>F!9"_SD%]SIL[P<%!BT!.\OB2H'?@4=*NL'L/(_@7G+R]$(?&K,@/) M>2.L2UK@_9#A*,[_(/EJ?SF=D*]*8R^#D,7_9#RRTJEJW=) ?0Y.MW[D_ .3 MY4I>8_,@5IPE_E)(XWN^V&T6Y<:1S8M, M34M;WJ'3\96]>(_2\H!]ML(XMW 5 AIQX> #BQ'<;P^NT9; M:9.=%ES./P5MI"\\B-PW.,;D04HC= V8]+HJKOL@ULA$6BG"]V-^&?H;%FACO\[*)];+<*.FK6]+%"Q#& M4[Z5$=JY^.W\SX*4H7+J#G?2?$1_&1J>,M^$C-SA>"7LG><4'E+)EZG7%FI7 M3<-6W/8T24A>3JQK1))+>HHV)%3>4=BMYF:]')6CYXT!7#50/-RP)AV7& M(.?L/BOI-HB\;\LZE?JDR(0NG,F%])[0768^R?$LA63BKXPD.Y[GBJ![D@J% M0Y(YVK?129MN3]FC3$8MRW_D:OD@MA:QV\^JC(]";IG'2N7#M*KK.'> V!SS M\L"0%'#_"N+WURM9U'#> YF.C<5?M:] 422I2E5Z^[/CD*X5\2IC%<8 M97C%TN12:/KLH3KZ6GKG%!*;*[B5_V5JJ01^*3&0UGH@@=CQRRU4 HAY)I69 M?&L6O+;:\+W1+X+O"XY&8H/I8*[@5GY&EW>8K\_PO8%#TY0<3&*C J,O[%3N MSRA>";.*;P\I'=UJ:*[@5/Z7M/IRE09JQK!*8^B'<2B!ZPW8FQOI^9HO?LLJ M=074DS=U!K)32DIPIV,9WX2NK'NIP9N6H?2@DL- UU9P*O_UWEMM)!J/;H_65!M))E4*I;45=E8%Z M\9+U1E*S"KGK"PTHYWLFV;BRVC?@N'\Y$FIHL@\Y>N7-7)!8>38.7C$T&,8\14P:G\90 Z*"))4]*M MQ%Q8407?ED!6GBR=.JHJ#@SNF/@!*,A"%$[&A9-QX63<*$[S$^WX>II(R MQ][X HB^JX=)'^UC6'R9/F",=*:B+^GYP&# Z)]2=L'AD;M-O?3+KH55_66=CF;$GM^K)1P[M]@!74O^O+"&H$$C0DJ,>3_>Y7 MGD9(V;DB>MC67U\^.P'$>CN7T^-Q_ZD/QAI_DF?) !KA9162T5^.@ EL"/51 MM_TE 9@ )/9!ROWE!9@ 7-!S &"0K*^VGP!(39W2<&751Y4>$)D&!\@^(]=$ ME(/ZXZB^<' P0QD:!NZ+A0SH[R$ZIEAS7VQB.UALHJE]F4YV"$'2E/C":-LA M8WELT!>NVWKX@#.L>&:VV@'5Y,2S+V9KHR$%R7;CBQ%K!Y QCLL78]5RKX<< M%NG/1!W EK!4$8TG0+TQ13M1$@>P1\>,$N1@*!P:KW3H#M/_P!'T2M=NE#8% MCI57*C?T7"$ZYIO!$5[X8^S!6$7J8PQ=6$=#?U^%L^I/ MOK"*=K#HLZ_YPB/:80)*[>G/VF(#C>VQ3E^81,L!U";;;0_4XI#!67;(@0_( M]<G!L,V:VK;J\]'(76CB\\'D?P3IF+>IC(4 M.ED32N2RFPL59G ^)(;/?(DA_86A] "2M[QZ M?B#)JU>N7Q7>E!KJ.I-7-Q,J1'U]>^$P _G9D;?#2R7KNW)CD= M.#9J2@Z%N&06Q.++7DNDGX6P2JY3J&%AA3=PM'!I&-O^//N#N(@@:&@8/G^<^1 @@+:W M+TN+N;L,9K#XLGA8 6)A:OL2+62%CY6WH[]U9H!5UPHF(T_97Z309*!14XJ> MQ019P6-R'/07"33B5<>&Q_4J&LARZ#CS;X)!'ODYQ0;X&KR08&2F<$S1"AZM M'Q&N3/JD7@.B#XJ3@T(STE;!:A I5:=H M+H3R3I:[A"KQ]HXCFHE%L4K?6WY*JY4^^5>1Y;L4M"7>:; >I$VW;*S=]Q7A"KR2S(J:T:CK&2] MHD3FKT@MB*2^)7#!-[GI0Z"ENJ&EWH]&^[Z]A@SW=J,(OC@I=))*J[5'!2.9#7FZ*:D?/%6__#;"T[JS T.VE[($Y(; :\?-TH MW26+*M_5ZWUT[\S#R37:EI']7.S%RXK85H#2ON&!$)DLZQ-.%+UO92#>W?F9 M(MAT>'6O#Q[A(:>6VD^/S-=8 MAUTOMIEKCNR':($(CQ[*7)GK,H?F;DJD!^G#=S\()2<_+"_4'"X[SN6 N!>K M45.>K&^3*9@S=E2Q)_QG()K*.T%$7Z).MZ'ED@PL[)Z'9D M1N^O*YG%?Q8D*[-VEW]RC&LG@76]P7OS?MX 2P\BN<6U,89>6;0T5"ZY,\S) M0WG8L[K45M$C5;$IR#H0P_HBQC[-PYUXO'9&0ZH,U(=+F@D55RZQ-R3[JIG1 MD"I.^W A%OXR__K)]OG/_R1B_O%XM;V2Q\$UO;&K/$R_+JG0[+-2F ^UBH)% MC<%[\-&Z!Q]'UH,?K'OPPQAZ\/E B7H_U+7+5J,V!DGO>B.4R-M'M-&^(GWA MX*4+$&TV,2U_0Z6#K,EFQ_7E.IPQ5K;G2K*-ZE1R;@I! M9 SWKE[3Z*3N'^PL(*DOT4,,4K\Q2(5X+TQ./$T0DJ),!X\_$PL7S? ,[$D.^@6I$-\$#*=R#6[\+R8I=KM!0/40NC+M5G ME''WZB(HL+@O+;5- $;&\X/@"_'I13L4'_[Y&?V+\?WU45F-@J@OU+M\7] : MSQ>O!*A5K$%E>Y=V-]GF?+]$U>.I*^9*1JD?[!Z?*1$UEG4:('3^IU! MR]' ME$ZV.UVPSK"QJS1H/_8":0/+8)6<]N,(K_P-(74:KG"D\1;.]^P01>=_%)UQ M&V=6.Z@/<&BT1&:EH$T=#$O5@S7;Y'U!2>T8A9@>4X\>,$\<$SL\=5<>$ %; MOVHQA\!^EZDOL?"H/1M^<>I[L;UA8^/U]&7,6*(#B6>8 M^C;=$!I]:-#4]^:&H)@"3Z:^4S>$!1+!-?6=NO'ZJXY] 4-B?3?ZJ"$!A23Y MLNJ&TQ?C/'TQXHCYU@Y9UT'UOT0I1D*6ZI\H9EG>-$P>TI2SP'>X,"&4O==0 M]N<+R*_DB[C!LLO[3W>8K]\(8U6GSU XR "!;?!1V*OX6I/9%VL:R-EE+_W M+Y5XK5JIZG[O7:H;F19<$8'V[C4]TW. M\S.2E?=[R)/%UYC'6'T+=<-FQM/7]XOJAR9]U33C-F!KQ7@N'V\:A^J"(2 N M!,2U"8@#[?,AQ.TX0MS>ZPG,L&%/O=>PN N%_C1U!X_VE6NTV*F[;O3]5ML4 M4W_?+AG"D;[ZP! VO)_<8 AY-S6T:)C4<>]F22T:#4@O[WPL%I/&U@;USAG3 M'"LC-^':__#A0T2H*(6C'#T)X^GE0X2?-M(S'=UCBA*KM.-/7'>RRJDK5 MV$T"NS<%JSQTSZHIT;!GVLH#]ZQ9E\8UK_92O9H F MFB ?U)M6%YQ'_CN/7#++4V$01\@LCS:!M:5=U=]8&3M"=A9!?SSTV'&"6K7] M$=(YRU$Z8H2 *F-_+/1HAU S&[6_@UBC!ZJ)&=7?X:S1PV7'$/1W9&NT*Y0E M[P!&Z!=O$+)&QI%;[.AR%RHD1LL)%A,0/RM#.#M_RCD2VAZAB&_+(21>1YGDEZ5"M.7^ M%D:M&Z67)T;#G##:/WZG)RK[_:I41'\=1%B!'-N'@540Z\56EA\([.<8MMT" M4+]K DL?3V[W@=[6#O;:[4A;9AC?Y/YJS/UHT5R" *H3/,+!(]S*(]Q<-PX> M8?\]P@#3@]FH_5/'PVYM9J MR#M,:@]?0@S8J08X=4@:Q%.8U1WO M0#&M(D NT[L#:S!<;!A5[XZN@2 "LKM3'S]VZR^0ZYLZ*"Z#^J8R:488U/> M^3T;9\1#!V10?SOVB'%SR$/WL$C]6N%+Y>5YN[(CP]?&V='#$O8:H+NQQBN9 MO +]A0:.>&J"?0XCB;TAB?B&+(CA-B; M=K$W@,G6)O8&/)<=>8IFI0@*#U'UXU GZ?=6*BQN94#O\S7:E@S$'9O%?Q:$ M8S&NQ1Z;;Z]31'.AH,GK'C:RB*(3\ :"KSGXFH.O>7Q$2V][0? U^^]K#K[5 MX#X+[K/@/AL?1%V[SZ:2ZA&Z &NM#^]6FY!N>8S^L]&>%ZYG#X[2(=;@\,L4PWQ;V>R[ M#R_F^NZ+?_YV^\9$?_]#C_1]<"8TY:4;CJHV7'6K@=SCFZP/95 <=C66=7V>[3?]&;":$L=S[BNPPX$=[I$=;KKZ!L;8 M?\88ME; F1 (OU"UWU>B10S-7+80.O%7@K;H; M4VU8JQ:#.'!6@;/J/UI4Y?KY@I7QH9HJ T7G!AYJ@MJ?P_4TL%"!A0HL5&"A M @L56*C 0DV&A1IM,)F-"NR0=$1 \H+2J5"=$D^K- *5EL"5U& M*"[7MPQ0PIJ#ZED %XR4DRZ$H]'.6:&>WZN)(W(RK%R=TDU3]HAHC"\8/Q5K M.^8/X,_E7D>5E\+&B"];U M1]2[$Y3*KQKU;%V&T2I*^\!$0_WTKR<$-X+\;H.&BP-IL$KY@9N8"FRRU MOI#%S4<4W/KUA55NCA5D$_1E1 7WPZC=#QO,"9/W:G;"T 6(G=C3SL[CG0N^MLZ[OU/R;"@A+O$:77B"27]!1M M2(Y2?8\@=1SWXGFAN\$EU'?L#CW)(TUR!!&Z%-;BK5!1\ D2ZY!\!0+_<@ K M^]BXQ:&X_ .1[YCB'942W[^5^$9.KXSD^%8LA"3&U^4B?H-CMJ1E*W+A5/ER M7#W6<8KJ]9K16[D$&9)4*\HYE?:\7!TEM(QB0S)G;5FW!SIP_G*=C$+:VC). MI52MV5(@(=U\(5:%:WE+B] J\IR3^R*7UO<=NRZ5%D6_.FK5<4J67 P5G)PC M3L7ZI_>_Z N[#?>0BT\V+W*A7U"Y;Y864')V M79T0Q 21=[ZX/="4*SQG]UEYIMO4!4C=$)I5*Z> [3++"IR<%5S,O4IWJ:;D MN;"8V!;CLM!UP>.5T'QD>+-Z2+5J;3P]_X(?RY\:=?1=Y?'TZT;8L9S$P@HH MB\T>$4^$_K_ 0GE518TT;W H \):XD]RQ_GFY*4 M/G_"/"99LT&N;6@,_2WM2^7Z:M=E6%NCZ77#E;J^[FAZI5E6"]ZHK\ 61XU M@V4:UM9H>MW!DF5NQWUO7^GENNZ\*CB4V=I"XF$,USN.45;P;2E0Q>1I.0UC M>7_"2IM9BD<2$VKH8QT*9IK#.U"T769@"MV[(!LH+A9>-N\"V* 805AF[\)H MP .HF>/9NP :*%[ [;V_V)F1XP/P''JW6(=(6ML8*Z,7K;\Q,G9DC)::=_NX M%@^-;]^[/5L+1*?! -YMWUKHW 8?>;?UF]>KEAX<,&)_]1@Q&S(5#-C/'AV1 MZ-!5"L;OEV,<<$K/!1BV7SV&#>RUA*NP4R'K&H^R3M&:BE78?'!!@WG@F'EA M"G3@4XAP-CKUAOZQW9 M7JFDWJ2K<5[TGZE.$K&TTGL9SG=M^^KK[H@$I(PH0@U%]N:O_Z=ZY7X@I/?+S_7=VL\6]VSI"*__R\^MSOG% MQ<__^^R_W@]": 9-O>"7G4$8CD[W]N[N[G;OFKO2[^_53TY.]NZQS8YJ=.KS M7J;A?==WJ6FC5CO<@[>F(;YP1-PVVTZ]-$T])NP@VS+@]FY?WN[1*_BFT4SW M*V9.H;DGO"!DGLWC]H&3MS)H6]_[[Z]?.O: #YEI+.[#*@R=^#PI-?\P&*+Y-#9F_FGGC-6K56J-: M;YA.HJ :CD<\ 6*/!5WJQ;S!21Y5:_74) ,_G/55_"KGLRCT>7\F D[VX'VR MMEGMZLW4^E*K\*4[8Q7T)F\5X1YW#?D4.>^?KZX^=/ J;?#W9M.4PA M:C$TW>?R_@-S<;C(!SN\R$!=>&&6PN$!#T*<*;6K-Q)D^C-0Z6<1">292[.9 M1G;D^R#QQOD]FK?9?H4]@Y2$G6G([^U!?DM\DYV&C+S0GS4+]3+;M^W,Z-IV M,@V!*?J,C7*Y!5]D&CNA/\'L&9* UWOX6LN6>K51WSG[+^O]@#,'_K7>AR)T M^1GBTN#LSWKMQRZHAO=[ZAVV^O^J5>LS][C/0NY8W;%UHRCV(U"L=27]D+E6 MU6KN-0YQH'VK<=ILGAXTK:NO5K5*/0QYR"R<897_%8G;7W;.)9"+%U9O8'8[ MEJW^^F4GY/?A'BFFO;/W>WJ:[[O2&5M!.':!/WK0M!J(__!3JUX;A>\L>M!C M0^&.3ZU__!7)\-V-&/+ ^L;OK&LY9)YZ^,X:,0?UY*E5$YY5VZT+[YT%!!-( M_Q1FX%9]COV^VSE[[XA;,YXC@I'+H&M/>O1.W)_BO+BO?@K'X1YH7/@-+;Y% M0^X+6RWH/KQ&M>K\B;!%Z-?JZF>]09+.8\CPP%BG;0^ /3X'$/C,O0#0WO_* MQSN6 )))"8=J?K.S&K!TK7G8.&R\W\M,8SG3NN9]$:"N"K_!FUFSFFAU=O'M MIMVYL^*>.T ,;J#G*>YOJ_5F M\_A@YXR>+GDJYR1NPD\BL)G[!V=^VW,^ I-D!S_<.:NJ;Y<\_$=I1\-X_"OH M0CJ?X%F0'?]HY^S3'RL=&I>>,_#QSAE^_82A8;S:<<[0("Q/;WRGY?LM1X[0 M;$K ;==K)_OUP^8)P/LCM_FPRWWKN&*M; K @0E'Q*,#M*^%/6"^8WW;M3XC M1ZQJ]!N4T!/# \S/!X+WK/8]MZ-0W'+KLM<3-O>7/(OKR.7U6O>@;I#!'<60 MF>F=X"1^?3D.L!;O@@%#UK]?NN6";=LZ.C@PKH<#-],]UY\S]L'ATO-/_OG8]F]MI^/&VYKKQ#F_^3 M! LNZH:]R&W99+,&UP!3<J+5Y3<^$U50$W^T?[CUS.2P_,IO%4 MX*Y@-LWCVJ*P 8LFPW]F5E<^[W' I],)I?WCBOF7?B=$W^0WYD8\^>II[%C; MK=4?1[RYV,Z%[\:L*(]B'I".^6NA)D$K"@?2!^_*>>H:2$0^7DP>-Q="S08L MY GZ:MY"+H(@>M(B4!X^=NZ'RYW[911BU J=^1=:P,%RJ>A%@7^TW+F_// 7 MMG1F25?48M(KBFA=V-+9B.6<+*;-'UK(LJ1KH_8T\7JRF HO_#*>H;>GEO%D M*45+J#<^4#]CPGKS)HN MNU_F=!OSIEM[1/SGL#;IX3R.0C!C%I/'5_9OZ9]'02AAW">3Q^-DS'X]SZR# M^3<1 5^ !3EZZ_AEQ%R,I1$^VMZM\*6'0,:G]L"3KNR#-W_A?88VS!L;5,V+ M"ER.,!4(_$#C?!&L*UP1CI\27-G?.3MYG([;K^?;@P^L'(C-YD&077,[0A)4 M2_X34Y&7O9;O(_4BA.@[T.5R*&&!G+H.7AX^S MR3F-.1;K;/AT)!AU\#)L!8+I!4AO#:L]>)P]M=^8$XI\)#G<#/@W#E#P06 [ M:\!TO?G(,&PC/_#Y@*B@%Y^835.]\#HP?08& '_Y!1\\EK3S;>?:R5S6GV#A M3]+_33@?9VHV'R-M@%];:LNT("=R.F?K".V<><]C++_[D MT:N?8Z@_8_6N@$E[8@T0J#>.'F4FSS#;_CSWN2-"LU#-UF&(YIIZI97:1]X- M+[P@]*-8HWT-OS P]=Q\H_6+\+CI(Y$1(A1QIK*>,5H/D$#3 '"@216'0OA\)?R8<#A:'0VOD"]=JUBBO MNU]L."#5SU_XX=,6OI1RH6=97'"R>* N+1#B;G]QE$Q>.'QH)A+ M$\W:XJ"8K'-8.S\\ (L'&:)9?\G%UZOU6K5^D/Z9LRA-;]BHU?Z@]0"%_=-ACP+ M"(J09.?PT6=WJDAQ A9'>J3OWSS.B6HU$O:?CN'FQ3W;O1ZWL73PPK/ED-^P^VM@T6L./2,YLECUYN#IO9PY,HQYQWNWPJ; M4[3Z P@QYUP.1]P+U'I=5]KT"^/!MNQ[F-]1Y'PN@S X9R,1@N4,3UM#K#Y: M>G9T)O=/+_C/UAWSG9A%XQ5B3/YRE(Y<9$%!:^].K3V)^7P8)TVNV)@8"8=* M!'X.AS?J<^/,CU?N2U[P-+*G%OQA8$*:D'[GONV"+"&3L6[GQS?/CRJ'!\_,H!S](S*D>*L_*A>.6K. M#ML]G&,,-6&>Q:4X3;@^[7ZK_@LUW;K@?E" M-9^^Z$8DVJ&E)B/_*POM 2PI_3ZSRNQ&@.:\13Y2&BYFXSQBU?.,@P? \%$$ MML_Q*?/'Z483-L#CK+ZCP]E1L'R8+&8'S8%):]CUN>L6&RS[CP-+<_]92=[\ M,@#4!QW>IYKH)9<"]*0,/?"D<'/G*4"S_\L.]ZIF5U7/8=V# ]:SJT>U7J.Z MW^T>5MD19]7]WOY!K=$]ZAW6#W?./C 'ANN&%H@S>0OLQ -+>%8XX!;-W6)= M>&PYTH*AX(WM1@ZW?MH_JD$;AI^Y8+];H<0.=/5\8#'[KP@HQ\&NT']4;>^X MSZU;+#QS+/CSIQK^ET820V[)GOHL$(08( #U01!U _Y7! !TQV:6W-DEF!@0 MG-%?Z=V55(K(/9L'\#=NZCX-: LSH,VBK?>G SK% (57U>QFW;T/0!"IU[@1 M]I>=0 ").MDI_1W(R%=_TI$$IYI\" .SR.=,M^6T$]+\)5"KB)[@OD4S MY;GG#YQ?_)K=P3GY\9EYE.U]1$+6_!6$S \QU'*6S-!\E[R+I^DD3?6^Q.P; M\[<99"\#BQ@VR#4$&!00IOF>_-*_,W?I\+Z'3*N@#059OD MP[-D4G%'^LUC :8,UDF0:7Q1M=338+:/N?"[!MHC]'(%39* MI"G8I78DGXJ0#Q\-OUD;T]8/R@GFIAFNGKES^+$H ,GP8V:-CZ2MJ34VBKC& MQK/6F!;2<7FX&86%'[DG:S#G=[:(R+]/%7G;V M"[%V3E1P_5C.L'9C<;W=6"YKU[5[0#L)T++%4LQPC)ZN]&CS'WH)J>IJ[2*L M&( :#LK85G\Z,-@]*@&3H;(<,#4].@XK\=7G+6/G+*=:7/7U?B]WB!B.\4P> MQ[_UYG@.U%=C+ M7]0VH0V+JH81NM'.)99+XFN?#Q!>)J>V%9A<>)W;A-R<_2U;@@N+E M/;?J"-SS(NA/1%9IEVT!$DO[:B/15MI)+Q.!6PMR2WNG:,B;M^ M6(77\Y%<6D&O&/FE]?2JT%U:72\5G=H@HBBMM8U&NBCMN55'IY9N( M3JT%B:5]M9%H*^VDEXE.K06YI;U3-.3-LEMSSH.9.,NFH!B;GO@.W>%YFIW^ M=AFBLW+C)1:+GNR.=R#1YFK3?78#T A^FN_G;ME+ME#^%3&??Y(RG.HR"OW3 MX*]>N%"',\7\@\=G7GA7W&->_RMSV3B(3\LL*+G-6HXFNOF+VA@9?U"MU],_ M.U$W$(Y@H+<8GO]!VDL982&8)%^9_X.'>$L$WB"'38*)<\"*BLZ9"]/X7'!Y MJ]01B(#%=$2FZ5.E2_O[]N:B@$L?;]#F(QF(@I/:T]>N:7%A"!0RT1D3V!]T M6$V.KOGC>8IFUNT>!2.'P ]/XZGNG.&?F?D67D/L]ZD6>'TS3$N ,U)((C+VT2S()K&SN2">248+3V Q'"73F8.LI4YF M%K9S9C('[84T"A>)+Q:(=?Y4T?8XU)L1 )^YAP MS[DL>!3ME=+^PE.:@_AD*@M1P':%DS.6S8 M;="Y8Z-BD\R\I228RU_3UB/M.:*B\0KQ_J*2H[%)1-@HK8?B.6-/PT61[1BBBM](A>!]*VV/S9?(]H(ZVA MTBW?+B+<2$/IA8FPX$;3YA/A1ME0]>DF =3A%^!P/MT MT9J=*A$H*E'-79VII5EPC2O"Z^J/8)[ED/U/QQ9TM=BT;-E"4ICOE$W 8JD" MI5"4M_[C)!]+IG/B!J^.3%<9.RC)="$RW6[R*^EA(=.])((U6TTO6AQ9HG@] M?+[^NKN2"-;,YZL^(<.86^;";,)KV^5VZ$M/V#<\*/C>Q[DKT3C,6\]FX&OJ MO-T27T75HX_A+^]6P/+P 6[SMP>>1*>FZ.)R(=3-7]I6<5V)Q2W@Q2M?VO!L MN_ WW@H"'P8?Q5_9OZ:>\"'W: MQ#5WR;0.!F)4<$P^8GFITTIGKW,SV/(IR+T"DH=NG)B@QUN(V5F+W':T;B.7 M9E:VO0@TPN@#LW\ P6X1(E74)F]Y6XQ-.1Q%(?<[LA?>,9]/?+!%V$T=_?WP MBK<7X3<^B;*-(GAR<9N%Q@O/X;W'HG+(_!\%1^4CUS6!SM0"-P.=C=*3 M*9 GLZ(*U-*36:\G4QBT;B.7OH0G4P $EI[,5F&S]&1>T),I ,)+3Z:P:"P] MF?5X,JNO[2L/M)Z"__H+[Q9 5GD0=J&0E5,=7W+6?&05:BM#R5E%15:.&%1* M67M#I@++^1YPO[A8FYYS7&"5FOGKD(PE_K:._R[Y$/>C]WT62G@$8^+!Q*(; MP9\;B-2'E_-J.;7$]%;R])4OG<@.+_T.]V^%K6RAFP'WAUCV&^#&%]VDH"X] M8CEO$>:BQCE+>1V\7&+X-?.PKB;>9,QFEE#R;(G1K>'1#A\*^!A?2%^W #"B M*-MHD;SPNEXQ-Y>X?[U\_QO 7UX,6;^P]Z8]@.3I!;QB3BZQN4V\^B MRUN><^'9PKJ'H_/7D^5+I5;T.OBYQ M_B(XWR0^UW\(YFX-PO.75')XB>U7QMNM*)1#B=)Q=3\G.)X5? PU]$ MCV?O$=AH'$\OI^3C$LNOA)<_\AZ D[>X+X,1L[=!9N3I$MNOC+?UBX(? M8+%@P"2]E)*72^QN.>]2#N!KY(9"A1"VP02;L::2FTM\;Q]_GTOP-+Q072." M%WQ^&'\ YV. YPHH^9]=C,>\G]EAA'M"_.'\BQHNO,]8D>X5W%2:M;"'+FN86-XR4;_Z M8S1G8E-%7KO"Y=3DTBNXL_H ]F8M9SNQ=7,GMPE;\7*V!%L=&8%IQH*P%0AV M.=)WG6TTQN8M:4NPEG-GR(5W,T";!^QLEWE.P9V&!U"X\/H*B<_($PJ97^'% M($;!$-8<^?PL"OW3K^9;\]#\C=_.(XQ:LS1\UFCX$/B7Q^8/8#.7#=J1+T?: M9/@3W9#+7LOW\; @7-(V&DP/@N'Y'EXN'-=EKVTDD6VAPED;B:U:N2V;P ZK MS=K*"6S3'8EBD=CJ_1BBBDTCLE**;9 46R:!-1YRN>C%)V;3E>$77D=X?3:2 M_F9;5O,7M2+,K>CLZD4#4I^D3QN@BW^?Q^,B4]/KVA+\&?J$!;9L.T*Y9L=A MG0OOG'G,81N-R4>L\+7@U!4]Z7MBR_&:7>6FX/8!A[+4E,O#W%(]->CN9*X1 M76K*I>/O9#DVZLS2$I\[(C1TJ=DO#+E_V5.OM//SD7?#I$I '8 >?F&1S]UB M8W9Z@4G%1=Y*G^_A3(-*4U$68%M<5E$2U380U>HORBSI9,OH9/77$#V'9)@7 M #K=HAVJ&$"6.C5M_GE#G4DO:+\+A9;0:A7V\^,,]L:/DBO3Z 98A] MQ[M@,,SS388%CRS.%(^S@?)\F3P+JD8RIV"[A,%RD!/O3TFC:$5TK EOV72< M0Y/7_%:ZM\+K9]_--AJ>2_A%)>IY$FPND%9H;A2=GXI"Y$Z:R%43?@E\.=[Y(YI5$'R=M M9P*E)/I'>GE$>,N.CY1T7-+QB]+QBC99KH".2QI=O]6[.L(IW:7-L4R+XG*G M+*G8AL*TE]."3JL4MQQ;%)OXTFLP*)F_DI7AB("Z[$A4!D>T)'S2J-7W M-PXO.;,O/+_,JEEOW3'?B>7T-SSI MBW,9A)<].IJVV'C,+#1=SI&SXN<+VCD@2QVJ.PF[E9D:A3HAO"2YUT!RA3JD M_+DDU^&N*[Q^RW/4">_PNWT_POM82@I\) 4^!,I2!I8$^3H(ZI%/?G;] -!O0I3S)@ M/O_ NZ1>&^@.Y_X)/9MD"^M7WE\X"0MU&TH:Z-6P1X*[$% MGHJ#E1CQ^&H"BZNU!!K["UL"2=.EF,U%8:5KO$50;9 2GAA&P\>PV)9[L:^2 M-6."4.R8H8JU,_WF>^NEV)D4.^R^%#NEV)D4.VFJ*,7.!HN=.N[4K.^G?Q;- M<3@?"-[[)#SH3S#WLM<3-O=+D5%TD3&'L>=@=&4LIJE[$1:;:/K\G)4*F,P, M:!6$Q=KWW(ZPK% CI.4Y0R!8K[(F8ZLL6:1D_H;EV/V%K MLWZOCOT+FQ)L+FX:-Y=K&B^)TY:F<4O668NRVF@"QA[3/]=*P*6ZV!2:WVAU M@82^(+>EFVZ;NBBYK>2V[37.ZLB\]5KZY_*X3;T,+GLW ][AGI#^5^:Q?NK, MQI)3%N:4AX&YRI@?4L:",;]TTX*0Y^/2_P]#N@S:+87<7SP)_UQ&VOR VS:Q M\@(I]9*5U\3**T]LEZR\%E:>4[J\6DNQY-,B6Y@;R4VK/-RY7IM[ D#)*R6O M;!2O3(0KB+P7"U5@K;69="57%#3MM#K#:!4;-/++"2^]5M2/@K"QC\PREU++ M*K65G/&2AX&5<,AKW(2!Q3XGZ9]E,6:%H2 'U=14!+V M9I8*E"RS&I99('-?LLQFIN1+EEEY K#<9;KMYM4VQ)/6D")NNZ(Z&>:#WSLXSJ%I)C7C:J.Q&[6E@S3#0M"'G.VO+_8?8.\TOO7\R+F#^N MP]@'3PHA/#)%6&Y46\DI H_$\2;&/%X\#5J$#7BE4'I2D*842J]>*&WI1H_7 M+I1B'SK_0H>7%4JE\"F%3RDB9A0"+.KKUS?J_+1'DE7)MFMBVR4$J]9WJM,R MXL0E ;]Z EY3M+5HQY*5)+R12?+UG?352 BX\0P"+DNQRE*L==25+,0RC:*S M3%F*599B;37+0%\'B9ETL%PS*;Y:Y;+7]FZ%+ST$#W-ON#WPI"O[@I>!I) 7:51=+"X4710/')]XH5W)1EO@BU4,LA2&60!$ZADD(VR?%X[@ZRN '9Q MR)9UKYM@*"V\_++<->\8Q'JU45LUP2X D.Q)=CBIN*/GGV1G+EW3/PNPW,F= M!HM>(;5D_-/6ZD8SFP)J#T>N''-. N J\NT!L >V*+9TRTFV/+"293)TBGXU M4)='OU/*L$37ULC?6K,8 BDC?VE22Z!?L\:3:K-P.H8FM<0U-DO&7+(<73X= M'@+*2QPM&4>'R^6CDQ)'R\?1K/D.U1->RLX$O?XRGB+/F1;,9 M&\O5U0VE5@JWQF7JND81[>+&_CQ.&T-NSYW MW%03<5%R(#P(S'ME2KG<#GWI"?N&!P4]+XM.4\]= M=%)Q,F/U,REB82*<"SYCQ>4 <0NE3(Y-4-+BJZ;%0EDQRZ7%S:KF+3Y9KJ_< M=ENE94FA6T&AVRM#KWQIP[.2-I]-FS,A6.9B7C4'ERC>/"[.U,C.M^]BB!03J0L:6%/XW9!" MV4S11HFH@E=NY.C%S0_1%S9:7BCE6.)YNS3D$_EYLX+(FQ#/W20N+['_BGE_ M8P*AQ8Y);A"_EQA_;3Q>^EA;SM(E@K>'@S]SV??9:"!L?:C:]T[1\(DAR9GS MW3FS9>2%_OCT>^>5\6:)NNWANF_2^UY0N^@!'!HQFEK!:^?#$IF%Y>K2E1\()YF 6YH)1C!>2+$BGKS5@6YIQM&F3-'EF#E[B>P*+P^9DJ;")KYHO[EG.B]YXO4IGHY#RYE&V M^U+E32.1-\4Y6FP2-HO*F\9RY4TCD3?%.9)L$C:+RIO&BN+Q&BD+T)Y$TV?&XEY M-+E]X2S@Y]"-S^PPPBH+?T@M?V<^'\@HX"W/4;<(=D;,YB65/IU*9\%:#S@7 MXMO (RF'<#]6Q[$ M=!*__23])+GA9:6H+->6OE%%XG>] MEO3ZRKT>R>&EJ-X^KBYQNNFU7J-ZGZW>UAE1YQ5]WO[![5&]ZAW6#_R,8^J7&?-\]^_[MXJ;]T>KV=7[Y]>M%IW-Q^>W]7A<^\_?.+/CX=P;,[O5#Z56LC[OG MNU:C=K!_0DWFK./GB87\O,A*B@"K3Y?77RT4=9[TOD5#(#O;\ABRL,/%Z4=I M1T-=D+%C:2H$:3-3ENPH37M_6ZT?'!WL[YS5:]5?B4J3_L\> N83%II=ECA[ M\Y7Y/ZQ+C[^%PH?JXL:S?]EIP8+XJX[8HX#^([_#D;,-G\_?FYWP@D' M\+/V=SVEJLM[X2F+0FD>^*(_T$]@JF%7.B!:0N#?T#$#@DX,<3..1ETH1[KC MVN[1W^$K:U5$^" AM#PO8NXU'TD_!-V#782(;QB%VZ==*=TN X,25G7_!'HY M0#8X.=H_?#=-,H#!]WNALQ"8-'!G@.G9Y-4]:WW[]KWUQ;IN7UU>WUA7WZ\[ MWUO?;JR;2Y0V-R!2K'K3NKRVZ@=OG+?6Y2?KYI_MM""*A5#K_ 9?UT^:^S%7 MJ&7N 4F ?-?TL4>T^X*B ;P!*QQPJR<"@+ UYLRW0$EQQWH/'.*925 O#EJ) M9">=6A&T 8WE\7?6 N1T16JNK91?AIY.'7A2'<+$!_A9U6'C*DZBRKTG$-;A MSME'L$#)?FC6*Q:VFR8Q7)A6!)?7I.M-S8+[KM]8G 98W&')HM,\T,ML4F\.FJN43K,?CG;-ZM7E8KQ_E M6H];!5ZP085WT^[<6.8L18!T$O]ZT[YG=DC@M63/\GE?!&C%A18+K&#$;0S4 M.I;P+!$&ECU@/HSP]@7!M*GNV% XCLMUW_N[)W,\LI4@_0'^N?#LA!PHFGZN MCD@ZEPZ?]M<";#'RY2WV\R2'_ 0="V-WTZYFH^F? Z7Z!FA#+KR83)BQ%RK?<_M* 3 6VJ+=; -$DBO]$H"<-W_$2.E M#QX-V/V=L]IQ[6!_#DRAOC!,-M7DMC"N;ZFNK>;+"]8GN_3/^+8B-"ER$&; MV0.+*@5?R]++8N,SLID[XV%7NFG4S4>!_DY] M]@3X'^^<77R[N7DV< MML'S3\6&2\NU[>\"\/CSPK-\' IY.9&>%1[D8_XVY8W\"WVT ?+#/" MA>=@#!/\F+%E#[C]PQIB@:A0RTSE.41@,>L./)KJ#T_> 3]P%L#Z'7@11.B. ML\!R>$]X*@UR'8&]LU\[, !+P1E@MVO] 3]T:=)#8:[?8=!?<#.&)VHF"--[#C*)/16A!/O$W,8T0_T456 DK/ J= MOTDW\D+F4V[2#YZ QOHK1./=@%.J9P*7;^IOK0%P'B+0L9CKQEA,H[?+=0/H M,XO1#"93/!KK+L NOL9:.LN!MV Y8-.1SVU.=D2]85$Q:F"]@?Y +UE!!*HN M&$A,@9KZMG# PLFYW[%@F@CI8[V&MR!4/,=ZTU!K[()V@_?=?\,*L#TUA8]P M%KH?VMM"DZ!)8MS_I&8Y;!SL/D26YY'OP]>J$A,-G9"%T5.HL[%S!MPPBSQ! M:5AQ2>9KHE3$("!O*,(0T,WC>\6!9L<6!XMO;%V@^<5L2A5\9"%3A0X3A)ST MD993:74#5E:D=J=9G>K-JJE6S2P*I-4M2RR,U,E5< M^)Y;S+:!U/!F3(>P@W:*E_L4=*)7S7T1P'3@IY9*2#VV'(+U/JZ@!(7N0.S@ M7/M6WY=WX<"\W@6!RI5-1+6^E!;;F36O'6LGYZ$"[<[L*>R0B/S'WXX;C=J[ M&1.AM_5WL5D&7G2U881^6M+OEM'SQQ6LU&N[A\MU1S, ^Y)/*QFN?DP:=<73 M7: 6S3^'9?2E/\YQ8:D1+=#6C9[BS1[M[YRU)B$VUUA\6LW$BF'Y+4\:%17Q MG5GBZ2%-2!^:OO"2Q>].08"EC LZ+.C]4PV,X@"=-[!\(P"3JT "VK_8\Q84GJ]2QT:X+8D33"@[3$_Y0^4K@ M8(T8-@+RHKB@0S-FD2-"/:\YWM&%W?-;V%3ZK01@GUS67[XX.IJO&EZ&9AUQ M:]F8"_YEY^KSAU]C&U>G.LARM=*FJX6=6!G;%1_MX D6V=Z^??\:=Y=*<5@Z MQV&EAMC!(S',B1CQ@1CO![[Y_JKUN5W]<-UN_5IM?;II7Y]:S+UCX^"=-M]/ MT7?BF3[?60.NIM<8W;\#]+@2FOVM1O\'WS'[!\A"H,]J]M7.WO12_OGQ.G(G$3Q<"MD%+AC(QWR1ITC(<*]0*E&GP[#4G'J>/0T^<6JDL?S MP52Z16J-IZ -HC2W('R/WEF-_=INO?:Q6@>>>:5V"\7+@@%WW=AG>).3SN:&S<2C+$ MT-3$,*;^TU;U+LB1X1@4LDN,17'.'LIMZ"T@C$>AXCF0XJ!4@$.1/U3 ''@+ MK%>@'*Q?4-(]W2E&PUU,LP02>H?G_XH\;C5KZB01ZPU^0>^[VLG'9,PT7_\, M]K ,B%_I_#OEM7"<%E")]!QSW,I?D=I95\&13ZV?-/%]HG Z##])?5=DK'YR M)0O!AH >.,42(T\H(OO>^;@#A&X+ #H8&Q??/F4/6_&B8=615/&!3;(4*M(W M1J?)\KBV<]:L[5>.FON56NW D*:9Y=E+QEE71I&J#!]Q2553(-VCD!Q')+T\ M#&?+KX"HOC(?B$J=.K-/&+4>PJ?J@[KHT*B7R:"Y"*96ST0QW7M6RTJ>X_K. M6;U1J1_N5PY/CK<"PP]40GV\//_^M?WMIF-=?#N_O+ZZO&[A87(?_K"NVY_: MU^UOY^T-7'1FA"OTFW6B!LG7Y&YN41+*^W%BI)H6R1:5..NQ7H<7DGM \>V LU]E>*V6"_4RIW#%WJ& MZ7.J]*&BRJD'K:^2W14RY42\9W12%P@/)G@%ZN+A0W<;?OB2=E][RMGC+ M>M@$NX\XHA-_O&3UISD50$N\R5,QZ9A(=99C]BF=3O5'NW5MM;]]!#GYL7W> M_OJA?9TZ9BWY0']V 2W_.]G%9*7 D< C!9"5'5V6YCLH@-X.A MKUK7-];%\V%P<$#+SX/!RLGM>'++_Q.H=>KKI9' HLM?41[T DPTJ[X[B=W' MP79%B^"']0F\/>DO'9GUIV.S MZ%SYH9C8_.[AV?$NAIX[(>OUR,O"H/:R4=MH;"VCGA<3M>?C+IY:HC91+1V= MS6WEU$8QL7GERQ&.S9?/F4]'9<$YLUE,5'[A?>9:@%";4TW^\C&ZM6ITOY@8 M_0JFK=5A/1Z.K8\BL%T91/X*.'4EQN[+APM6YX!MB ]>.N%;[H0?%%1.J0PZ M)FRN>HBGIL Y00N:HJ\G+$5:2]9/#%J:*@H;S_@Q6! HO-;SGA&1ZXYN^4'6NU MNC*BJA74'A@ 7#;NFT^/#A5<(AP7$_4)IW>2.E8D@4XT&KGT-_/'M!F]0+@N M.)^?%!/7YU0_@]MG",/ V*SO2\D!A- MQ"ZZ[Z@4M M!DN0?9[:!5D@O!:=GPM:I&".[+4N[SS@X($88T19'JQ,-X&&TPH$]/6KC%4Y;C <"U>2_SDN27PFB9^#ER-=X9#K M,S,E/T_++!U=)_GH>K^7;#A^'Q]/BG^\T$;LI9Z!,-7A(XY!>&EI_9E_]26_2M+($L>(["MIR>8%;] M(LRWSE&>?3)[]^R<11A.PG*F1'YF\JAW\+/Z1,2M]T 8PO)JZ MJZ>>'$FX8X[(P8-PAIQYJ:.IKGQQBPF5U#D[7^"?OCJ)\)ICW4!R^\W) 5UP MQ89TU'+Z[NG4 8AX'8P:/.M2'CDS3]SETVN?Z[H:WUIMD2#I_ M1Q\J=!V?,YR8Z>8D(CKS1YT-_9';G([K,OR#XXC #*1Z,6.]K9@%,#6(/LP8 M;SM)'5Q$2\"&5&F!Y\)%>)\+!2UWK9L!#W@:.HZDDZL!2+=\;,'@H<3;Y5SH M(J[1J%C="$^!PRBH/C 4<_KJ0.&1#/'H2/BB%Z&19E%Z/ZBHNU?P>IG,P:4X M_Y'+,("*%?XA[QNPXP'*GHZM(A4AIE2/(^[37/#8(WC3E\R%-B-?_MN<>@D= M4UE!!!09LGLZ%P7 [!&>W[@RP%N+/!XN]#"Y<[)BV6PD0E@;O\?HKB KE&:K MP)L$@X'K"G"'%Z11R@,ED!Z +AL(#C=L?Q^C1M-;EK@ ( M!A5S+8FYO(3F./68D.5,/1ZR\>0C6T:N,_GP3KCNY+-@D-=2TKR1 /8 X M2A'&KG4!H@#%@*)) *DJU+G%,\?B-T#BMM)=7-_(I.Y:FDVR^(GTW'&&<6,V M680GIH07S >/!P '(?BA6D<@(RB-$TOSA!FC$8R#T) 1G>H>#4=:*G;H>K,9 MG>BSE940Q-Y07KH N)"NFCI]0//^XZ](AN\F]*]Z^$0M/*'PGWH*5,9<)YM1 M8/Z*/)'[Z:DITSI]M%/*2<[UYO)[R'B!YO;8PWCMF?;34>2I3^O'^9_.0L>4 M95A1MA&H(^Z+WI-1W?C(U: <'8 Q%M"^R#IJB*+NBP^PB4%EUHHJT]WR,Y#T_4ZJ"KC:)M_Z51/0B1)3"C?'KC$V* L4!B>$'HC>F-_$YX^"?4$@* M;4/-]'1"-;@P"MM\*/!D\8BJ:DCX4/P9[YVAT\U'%"$QDJ=UTXY=<=7=NQ+Q M*T:\OK7$.!3,TM$2$]!1&S'M,6B(P#S,HO5-['P-Q03Z*@J.Z/^3@VUHY [[ M\&]YB=[M4@X.O^6N'"7YI-#'N$*:;@QEI*)[=K)I4!T(/L1/Z;[@-*&5JF ; M26;"V"EWX##:%#4Z)'-*!_VAP6&!+1NJ2"XRA^Q11QWN/ M8(1_XU5+NGE)-EM*-NR6"97UE6\\% M11&5R-Y:9),%D?@F7>EC7+T7>2K=ZC,1\+BF !JH^@&>*J*8C(FB4WLG?4JF MZ@]+RME"RID(:="N7 P^[Y.LYA 5BIN:M%[-BR1OXW()XLBKD=S3'JEIRLD'Q=\6".: MK3RZ2V'C"8B@"E$F7 S$8!4+"4AQB[%=GP_!VZ)R54I)J1B.=04+3V7(%TF\? ,R\38%O+]1"P2"<+GNDH:'_S@ M8RQ6#J3G<=?08LK_& A5/:T;8&ER2I38,@#!@;V6BF/["*C//8X;,?"B=CD4 M-DH01_N571D.+ =\A8 P"@(32:OORB[^,;G?.2&'U$:[]#Z[=56^KG*KR^^< M9'($RF)(*23:GQ+,KS6FFH5 W?*I[V:N6/K"/&LG?3E=94=Y>NGKGE$UN &_ M@S[XQ%M3^SQCA6+5B(!'81X@X:O#TRG*AW017ZL(($0 M*"09#F2 :?7 ]D4WM7%F=G$W1BHHF$DVB[P;"'EB"AL3Y[%J ?4)BB%N;/&G)KFOV(.$H(_IR%,%3FYAGS@H#LM6P MB<]9@&?6Q_>!J_$S-W?KC#9MS&RHSF_N""3S2@"LMKR1B6^5_S2,%A<1Z[_*U]_=M%^W>K]>VC MU;FY;MVT/_\1L]R&;^Z>A(O9<*\/C$4[XH[1UC)SA"P963C:O_!>U#'^53\Y MKFN?;[+A1PX*G"DSL07VEHN;H8_(2D3S(3FW WU%\ 4%;H,>0D.RI["086H^ M9+^"]7 WD& '5N4=;NP+HFX@' '+Q/UW%Q,6Z\X=!SMV)T)K=@>^A7],U?X. MGIT*1L\.3!XM3+!2YHR9F7)FS*VC!+ L$6],>UNJ>D0 A @KGKQ5%]Q0O;O> M?DDE]B&W!V;GKG0CY<>A98DVOO!254GF9@SL@G[;/I;",;0 ,&6 B0,J;%*5 MU4E5;;+5IP*V?X][ =]C'+=_,ING-_#,W.6CC.],"6YNL3<9V!1*"P<^YZ8$ M LUFWM=7?Y!-3J!R TE4HF)=I!KC9HH]3)0N\D08G%IMVJ@D/7!Z;P (%:OM MW0KXFRZ.<>&9!J5QVZXTC-,OMH_R@'LY\\%=:=0:=3JXP67@10ZXD[OKKT)/ M/1@[%CV6VEP<,EH9QU^;WA;_#-7)>C>T9$3_NF\5B)4.T> M!OC GTB[/OSH>X!;AXZT@&4QC")HG\YP*XX ?CG>K: "S&FNM]E(!?^0L"EB M/>#NR*(KU+,98GT4@3646 *K9YQ,56>AA9\C5C1\#)K,604F$8$_;E'0(#!= MW.T#Y,BYC\=SI.%+?6$$LIJ$PQ<3>HEDT'@#B-%1'BS!4T_"S^0P!G5:@0*X MX].%8FHR2#LNT62,85.-6"1US$VU+C(T_41(AQPCO. M/>NG1JT&$L%U=7#FI\9!\G>7I-U!!8G&Y7$^AJ:G4"O51C0@4@1<#UKM9L'L M2&7T&/0QY)>N\.)MB-+O,U0U"A[3N",BFH0"$A-#=G9AS<$#9P@4QK]\A&Y2 MCAAYHNEH#CEFF6".=M5R7--I[^Z!&U,:\\[[74$X^KT8@DQTPU]V +4AGM]3 MA___LU[[ 2]JM?KNOT=]@)UO/] @[;K63^KO=% (3:6=O7G>[KQ#](Z6?/AQ MUM\59Y^5?E.GY%-.NHT""14SV$Y"DUQ*.!##*8E$Y ?DAE4-]%MGM8VMV&E] MC?<%BB 5[ 4NQ7BFJH7XJ;%;L[J:TY7CD4@.HX9058H> $F+U0"D&T@ &M4% MYJ_BT2>&=TE^H50U @(F0E]U(^$J&UEM'$&]#/V NG1B 8[!:O# )*IABK.3 MV) D=-$P'9/-I521VD?PPYRH$H=WE;CM13YM?AQQCX?:58ICNT)9]=H@,(F! M=#]#-C:'EL"_ A41]!HH'TR)_%B04B8(X\'*B#+KCM6AGSD,G\Y^4G!E5M>7 M9*$PWV=CLZW&'..2JY&,AHD7$0^#L$-Y> =R!_^=0D2V97)^6, 32("!BR), MG5B5 76\;.Q*&V8]*4-PB#59V%(;D4JS8(2>]IN2BE;&X\2<84 \^Q(45R6[ M^=FD,<#P8 8/L'0Z"P@[X(9-<(*2!HAWN:(9DX&0(:X8GKO61V6+H32I9#97 M$!87QB;V5\9EAD]MVJZ<83P_>F^D$A1GL-R58[ M8UX R6*]*D[ YWVS2Q@'A,'#JZXAZXP1407"X; M!X)IFQ)/I8K7P=!A,?NEPB-Q;HBA68)?9G>)]J0@F*&M>6GN+TVL?[HU2)S-, #) M1:&;#5@;S+$(9!.& M:XCSC!11HA,5"RG>U+0 X? AIE3C0Q3Q9#2J9%)<@:V,[-3>4G!%,%CMX_B9R\@C4'P*,CO:C=*Q>1/(& M *.L"J@:23M*3),[X5:C"E^;.3C,>( ME9R1Z>GJ(<*_LBY2?@IM=N6J$$@=S0$KH4!:UEI _';AIZ._<_@(%55O6C63 M%J:3++4ZR8NMX>$@ZI@ZLM82G85"3BI"-;T#SJM(1_\C02)]<'$OC$E_^.QTH2&W/I$SW;Z!GZ$W%Y/DQNM(3?A!60UG5P#)RE#I5*P(%CNI) MG>X(I@38F7TZ&4DJ<=S&N)*A@D1C":S30[ ZF?FW?[W\9[MU8S4H.J5V& \T M1F-!.SGWUA"@[KHJKI_T(%'&X(=":0N/WX>6JO>)!1&_-80*@-3]Q =0@H!2 M\?W?KEH)9NCH/YKTG'AI!G54O-%'PK22(F4%G0\WC6,30LS.K@M '("G@HOR MD .:X90N M;\[Q4'.2S^J JPXX"A\%[TN<-7@Q0!V-0SJ)=9\4,PEHLI6 Y%0&!9:(11<) MO=$L1%Q\0>Y!9FEI85V%]3D<+[@.K'/N!D(QVO]J- ZFGC.0;]!U?3]F=B#, M+BC<'D>"Q;(=8)N05Q*VG0K?!&0@8?Q>V6@ABH$N[E%2]3(JXJ9$8I(: !&. M8:/=N7%SI/48P@%I,)?0ECKHR\3Q[ &,2Y5)>)0DN6,N1<^T8#9'XR8V?Y*+ ML*:.'1-TX .:@3SM"R74FPW_SY0VF1!:T$AP4>-LQE6"-@]J/?IP:4\&N9+POG2_SNKC#8 #)Y!%.N=ZH06 MALDNWL,5(>79@&1[-SG_R3R.EV!L5;P%1_7[R1WC/$$1=>.*:Q4O]M)@\9D# MWFH/]2]MY35#7']*CB@"8H^4;C8=41)CB$XQS;L_2/6@H)GZ)H[/4[G8Q*%( MK9NV]D33)S;'WFU!2PI66L[UZ2:_H"FGG"OOYH1!KPJFCGDS^0I#G-;#)6-/ MJA*SK'T]9OI&A?R+"#:S@.Q)T+ZY//\BO!\QD%*W-#P,J8?QS4P$2;/ND>O C,^Y I M(#")"V91'Q2'EXG,I?-A%,5[ ;$*1EAA#L;8DE1S'+2@X'@.:KG"P];'W&2]6 MSR,^7U*'RE2E>^R,SK7\3"&.AO8(W#[P54P<HQ M"1[RU#))XZD,@DX:J--ML7T2XZ\DSBY]'@$'Q2=7)Z$88BFJUW"X*F7*@([ Y7/%#CSVF1XJ M6IE9X#&9 IM,W22>7;K&9:*V256N"(JC9%-@/'%KJ9,LK+&X+ZYK2 =,LE5! MN!>5M$^,FXR+'U*Y7";CJ7<9XUR5NY^](D\/ 5L)P.&*2"5N:49\S$^Q'%0S%TA!M4[0&. M1\YMG$N@Z+2YV6U05>D+=-L,'X*MLKET E(5&-+QJ,R&G\-Q*D#N MZ32PE*Z*<6A3T7!U*LL3*GJDE*$R#7$#(F#)5NEN,$!(&.CQ# ;(?$QAP, 0 MHWXH+J3KLFZZ4#SD;)ACD2%)<3<=2%+B8URE>F=E"9,/$&'9I3:[L[GKI%$* M*+2@&>1".0B 3I]K,*7FJU/0VJQ4%89DP@^(^1S.%%6@ (L]E5C2IQ!$&>(M M%&&+[Q%IG?^?[Q>="W5!86%VABQCAW$"E$,:]]+D'^H-E7\@+P]#4"IX"]QN MZ9/DP)<<4+D,I@M(F) LH+2A$1A$KU%(B8/4R6&*!LE2:;FP&D7+G=W1;FNW MD@15XU?)M1ZJ'AF[TG2MI1W9^E3_796]*@Q;Q5W/L9&3B9A.1:C3&PXR.PK, M)E[4-2!KE1/*TR90$AA-K^2.6"O2MB;NB5$;:$"B83!=NR?JY5+!'C3(9K+RHXQWV!Q24657H&. MUI4F>-PWE9M, &T*##\U&KO[!@0/"-UEEY)."H-U":$++U;<1+$ZXY7R#!,+ M;D(VJ=JK1"2E[\O\0N]:YEV<3HD'P 0Z2I([3\F3A&T4Z4]TH'C)98':[I3DVZ:]$WI^80TC0W.+C>))IV$!%^-WZ5RD)3JI7T=Q"P488P\5VU'P%OR MB++0ZQ6J2!/&! 'RG3)]V &VBFO>)J9>F1()"G"XEP^D1Z!L7DICF[PMD2_9 M"5TLBSBH5X[K1W%E&\>\YV2?(X8'EH]5R9D: !X9$]I(AV:]TJPW,/?[@WN8 MMR-4]LC51'_7?(,B-IPXKT#7U2;WMDZMT]QT.C6#-&].<.!!$X7$J[9XOK:N M?VW?=(RUH^]>IO^*1^VNO455Q>]BLTD4PG1:Q59*54A'ETB:ZH+)\E7MU^B: MZ"7N75#E552'1^IW(NX&"@)=L4A M*W4-\#@=+3!=DKV'TQ:9[/D#10488B[Z'A>=K.P!>/#3.!.:S54?3.:SU;E6 M.CEZ MT]-XXIZ>I1RB];Y[]N8G)'702\';!\Z>6!Y4<\]$LR62J_?+3J/Q<,7",@ T M7;:AN*EJ*@&PY$ _HOF<6E3D'3_4-0=^O_NF5K'P_]^^*"[SH#.%WS_(=&RC MS_A"^+6T%*HJ=E2 G$;ZQ"E\6\GE\X__V[11@)K,0$A(>8.MDF$7FL"*B?@% M9U!BM<1JB=42JR56"X;5V% ]7+.=F@*,LDRSIJAIICY\H)%V_V:T*IQ5>TY' M@I8&[:LR:#>%\0K'+?7&7K.^A\42Q>*8DG8VB'8:)>VL.S"U:;3SDU723$DS MCZ.9OQ>+9!:[*V39%ES.SC;$6J.V7[$:S6/XS\'!V]7:>6M,25RK+4KK34>L MPW_+ _QB=RDN<% Y:AZL%2@O MC)>"#K@&W!\T=YMKQ?S?"X:#U\?]QY5]#,V7W/\*N?]X][#D_M?,_6\:EWVTD!A&;_:W#TI"N,7RPG;]@3)A!-V$>_EVG)7K+"L6-^O-.NUTOY: M^X#KP'V]M+]>'])KE5KSN&3XM0^X!MR7_M;KP_E^I7%4QE?6/^ Z4-\H#K\7 MR\UZ9;FN5GRBQE[[M]+36@\WGE2.3\HTU_H'7(O=M5X/N[2[UN)G'1VM5_T6 M$A6O ?5BO+)'U!0\B[.B#"$L/ M:UVAKN.#TN):_X!K0'V!"@H*@8+7@//]RL'Q>K%>2$R\!M27[/[Z<-XX7&^A M8"'Q\!H0?["[WG*%POI8KRR+]5&?!=\R9\&7?M::0MN-RD&S%,;K'W M:8WB M1+P*@8/7@/2C2JU6!E;6/^ Z]N>5J>M7A_,#4._KS645$A.O ?5'Q\6)K!3+ MV7IE":V.ODJK]+'6%.&L'!Z7NS36/^!:@MNER?7J<%YI[)HSCA M[4*@X#7@?'^_#)^N?\!UA$^;Q>'V8OE7KRR9=8E7!;^L<_6$2P96,8M%S_4O M) ?Y7S PO-\N7V()4&N%='5YNXZHU@SW-G" M!CA>,('\TO0^B8GF6@(+#U(R3,MR9-1U^20I%^UDY,5G7F\T*\W:.DLR%Y_K MFL7PEDZLR,19*U:T8?9,UV=%%XQ\2*3)RE_-P@ MJGR5\O.PLG^TOQ$PWF@A5=B)%9@T#W;7&B_+##4#B.RV>%+>!75SIC M? P_&:SQS,+?N>4+/T],_.=WR21ICID2!5VAH L4LF&#D1K%$;>6[;(@^&7G MZO.'7W>F4(^XGUZW?D*$0(]VJ+N)_C[=7,<=ING'YE[(_7=6:A#]?::#0:_J MRSOS9O*5S5W7NOK\[?O7N6/D%W$8:I@ 9QRQL0[TF'LPJ)E:\CO];]O6IQ=P[-@X,.6/)B,2_E:C_\N+ M,NE7.WMY\/[GQWQX(^*6 >V;R_,OPOL1 TG1TH*02OW*K\R9HNT%^5&3Y.2" MIT@]=]1) G@4.\7E/LTCXJV/D0_"P&K4&DU+1CZ@TZ.@*@NY8_G\EGL1M_H^ M#/;3X>X!R 77%=*SI&\=_GW7NAEP2WBVSUG K9$O8!R8(7S7<[D=!O$[QW(X M3-4!>/@T#%89P<0 D&(4=PHA%X#J^?+H65' 0@F[N/GV!"^51OLF=E@;V%7 M(KZC!X'Z@X< =7A>L4)I,0!G "BP ,# 5)79$\%>;!P:8) M(2<]%Y#? _H07@/&.33$QLA_](?L378+>!DR&!X5#GS3A_? J/V!C$)K* $1 M\ D20@46 ) ; 0GCN7%.9MJ&)FA29@X!CF.'$F:6,ZP&7 ^6 ,W_B@ P@!H] M&*P5\!D"0+M1R'5G\8" 2_S4'L/?H)ZLP)5WCKSS3)_I8>X&PAY8 Q987T@)A?G;W?@PZZ/F@8]=^;*0JTWA23(1%K< MKM6RD"!X&',!1RT!\P*^(45 'WJW AX-06R3?K ''I@1?0'("W@?'P?_^-MQ MHW[T+F$B!OB(4+@;V.7(P >66M',&E,*?H>3PC;0S<7Y=K+=Q;EUHU:)/+1K M=6: BB3:>(1"&"2?@CQ'J"#,AY$;BA&H7(14 K"!]0-@&=]P E)64 0$ ^+ MR4AQ3#A@P)N!Y;*0*!U4)MD=\,F.(T#S[$#O( 2!R,6M<"+H%?%@M5&K.]#0 MY:A&F#U0@E.KZM1W)/#54# %CRNV@:82K1%-C*1E;#D<@=D+I+9K M77A*2=BHV2O4+?85CPD:DHV"R*6)"UPCB&P J%U!Y0!(LW$Y:@@ 6XC# DN" MT@T Z,9V, P7A'RD.D= 0X\[H'Q^L#XVW4E+N-\1@'H:@#]HV>4]!'.7(\42 M](B?U/<*)F!%131O +OT%!Y!R\./7N01./!;LSSS)1-?A19RBM< '&EB+5#QQXE9E+0O"LAZSL@II4RAKA["E& TG%$61S*$9/ MGQD.XZH%]]42]!\Q:HG70Y]Y ?%=. DC-;SQ9VPT.@P934JEF&X,\^NQT @< M [*@P1#@P5#JDC'H2YHJBB\-_2R^$!SP-4RNCS(/'3%;&^AL!'1]#WY9R(%N M?@)'N@*N. D]8%[KI\9N+?;I0$\/*@">$2!3:4;CSTFE5E$LNOQ>* 6N)"%V MU34H 5P1VP6$TWA9"TSL()X7_%2_<3IH,VBMH\#6,T-2MM!<5&4I>'=ZA$LB,B821#PE@IB;BMY $FL_(\ MK1O4RX&RFG]')0LR0_M:*=>3#!P. M:!BF@C?"NP4$DY^%XWD MA[K^EH=6V_0^6K4WL$S^E5_]]90/KIHC"*_BBJD M[SI);"SIE256J@^FL(=R5JD7$_?0R]5+0WF;T>7:#/>X5HHC>'"EI%E0B"BDPEJ(366JP!(C"FJJL2@.T0,R M"@,]-,(C'6VUNHA(0SD^T"%3%(F\883HKO4-] T<%4P(3.?8"!Z83KHFPTE MCY5)A&N6#C%A G , 2;/R1ID2B9K8S$5DJP@B\?Q3R)SG"G%.2-[,",TJR.^ M SXQISL6:'^6QB?Z(\1A;%$5L,BH*=R+26A-[KU!!^-%XZ@E)F"O,S MA8=EIK#,%#[6\LFH/A;.=354HDG'5D9@;8,;%E@)*UI:4H&RIO2ZE_H^2S7JD*>J0SCY1!%#T0D6#X4!L]"7)]T)A5 M$Z!0'Y$R6?>.XY/.(%VFI26%8I1T-Z"8!P7,$MZ:/)-OU!(^BD(PF/X3ZW7P M_( .,+:C@V1:IRI581:BS&P7S9080BHXH6,S :DM7"M'A2\H))FD,U4\0L6W M4U9\ULU)GCO:"0G"E)U KV,7 G$3)#%ZL#6<6PSAJ+:(BBZ85\/8DH7NP/(E M6&BL52;M@MBH2]9MLQ'K&@-3I)R0.&@ZD)'K*&L2<]44XIW(\R*$R+8C&R[6 MS2Q4TYD*Q6'@IB^U=TQ6 X&85'=,)#J>2O04#14=)0G=(8@7G!',7X1DZ"^573F41V9:C M$1C(D2< Y& M1H#]%9'GHH+?6A?>:AU&26H2LIY*1H$'0ZJ"\J,Z0 /.'D5,VU#!B^K9A,8G M?'233M$E+SHTJST8E5L!E+1_,V-B:FR>%@5'"_4!TS%B*LE0&BU=G$-/P/'O M^VP$:(J=X2V-BEW,*M1*!;<2MM"!;LPO*+\ZB+K&LYT,D\=*UC",3HA85#,# M3*(*FNXHQD Q6C4*TBP0H/V#^Q6%#6:#&*3H+ 78:?G9%)$M?#L2(? ?\QTE M)E,]\@D>2).G+A)(2#Z9M]#Q#9-A34)T.L]%_)(D?"A9,D'$27T06B7*[JU0 M0H7Y('%T)$.'DS2%"P\,-S*;QMLG?6_RZO 0.$GE3!!65.+>(:5&*1.6E,00 MWS+X\M_2%^%T71:VHI!B6C$3T\=YR5;JKSGUA*E2+V5Z,\_CS"44=B6EVN"' MS_ZCLJI:F$)_??J!W:"<8BKK.N1NJ$*=P#8#:/NCVA.A$GRY$\I(4:UM2-9. MS^P3_W:D"_X[@EZ0LJQ+3DP*>3X=0E0@. MY9W*O,?A7K#CJ;J"^_UQK%M@9>E:SHSB).5(T3ME6J>#HRD7!5=)(=[8I$&W M0N7UD(M(26>++8'OU62%;_P6U$>@J8!5M]>VR9B2^9)<##%Q#@X.B:ZD\FRR ML$L5/NA0L[$H]#.R)[A#X5V=",LBCQ";,29L7T?3TPR9+IXS_2%=(JK0Q\)$ MP8#!TFT>T=?;B[G8XD^01K(I@RT$J\-"E($>/%=J*UUNEZZJ8TJJSA2&6VK7 M/,9M_7YM=2Z_?+^YN/S6B;W6+8/'[QC- L&H3.14PLQD4*2GJWH,XRJ90,EL M3&D9*RY6/F1PQP961+D&/U,.I/1+$%;C\!DF*>RGG5"D",:55$1@6*,?1N4)T!;]PRX>+&ITJ\ MI,FR4DS3F% 8K">0GJX6)M/"5C:>+H'*>OQ@KU#4C%)9MZ!\*,P9*QS*M^K" MKW0NA](Q%#S17K<"KC%Y*DDYNM&_Z<1_3[HZNT-!O!!$0G"Z=03\7IS=),9V M]3RNKL( DT5O4\6PZ#C?H/TD.VB!#=]6K79\)?-"OP47%EB>O%/< M0!A1\LA2'*RF.!'@,<6,DY&@C%6AZAO7(22^N^#-@'@ R#.J^:IO:ND,8V[8&#\Q^,3OB\YXL^)XI0:!K* M+H8S CWR1!B1:F?1IP4HN3P#L705=D1+( MXNB,*R0FR]&A;%4.OQNHR[P?T MT76Q?#A@/8ZE%;= Y5BZ:_XV\]=EDB9Q!_U[H6Y4YOF+D><_*O/\99[_*9N" MXB#6/Y6SOFNAS+N<']]*^XM&WF<==(K&Q]JJFJIM-YVA)@$KG3O:H[3.XR@, M&>,/1=C0-OBWB;12C$]O"$@[MM#,U'5GC8>T^D5%)H:H;3/%"AP+"5#>)Y*/ M2A8D;B 28-^@+4"Q*]SA S_!] ';+@A2;G)^H*[]Z^4_VZT;M#'A2;O5^0/_ M_,??CO>/&^]>*JY8F0@JPH>IO7VJ 2RGJFH1S%1(9VG?*-FBL(6^PT?1IU2^ M,HW,TB\HKG).<15\EE@*Q#:_@;FF8H]D( 0I]Q?7MV[PY. MT--$!AOG$9EVIQAZ8(V;\C[+W> MJ-5^Z.DXD]LJXCD1)VC-%.^Y2C)UV>VBJ3U>Y)"#L8Z"(/:\M4MC&$!YZ!6E M**CJ7=YYH4E]$A94+1JZK@!*AQ'SPD ],-K1PD]O1\5U>/Q.1:,2Z%(P=W)Y M.HZE5Y>DYS,%5<2R#&,_I(GBZNCT)&=D7$PD#> &+@&= Z15X@@4 _V9TIQ M&8 2(CXSB"^"'Y1Y&RGOQ^*^+WWMML_TW (N5QDF>O,L#N6+GX*AFFF"PY!\"4 M36HG/;6ID.0'U]LI* Q*>R9P#Q[&'O$#DR9-AQWSYJ)*T"M:*:G"?EU_7U'E MX>&$-+I#$98*B(%DG)8AN52>$2RJ%#T1+D98):;@G5!'M>A)N%P--9EO%UHJ M(_IPJR)&EJ$_%-C)1J_ "H82(SJX.ZO/25ZHPUH\;@@XV95:L5SIX?9 %R2Z M*60Q&$W'^(!<0T.*FJ#264^<0[J %*'B(L[B8GQ5,4/%L]NH6Z]E5X;"#JH? M"![M)%)ZE8@;VL?7CJL^*6;3 D:DD =F#.+JNLEDI0D4IBBZR\>2I(4$XE&< MSN_!ZL;Z3F"WA+LRA_@DPQE)K/@]CL$&EF^6TJ6EI*:2DIP3Y50Z9HA*/^-@ M&85H$@R!GBGR!04VL2@E&6 R9FWB1F .QGQ+%3DSOTE%=TT15J;!5A+?[[BM MC:25<4VMCH(W0:VCSB[^_@ND" MXBU"TPT$#8+J7U@Q,U;R&__^0X+L3Z';;/9*=W/./.:PBO49(^#>.%:OWW!7 ME._"GRIIITDWSH,9-DSJ+4B$@L6K32G33B71/.Y:BEE2RZA8[0B/LJ#VK4 P MI3M,;:K2#5B CJ:JC9$)DOQ8ZF@LRCMASM(TJG M]6EK%Z5#J12,E+4(=>4+&.)H_1MS2=DZ8JL<@U:=69.:A98TF+MN5M"5/C1,,Q$B?)I596N98@1:Z%F "R"C MHGTLA00%Y:CQ/ ^VY2/)F]K[&TB"$M8@P 5(R;Q_ M_3U]=?=,#P#2LI--&)I5I\[&(@D,,#,]_7+U=0&C6#23#N/:XQTTRQ\(TSC] MX>7IJZN=16D<4SD.GNNH1MU?=J,S0+DML2J?EO$3."^TI#B0=AILBO^:Q'82 MX8FS9<[45$7&Y]<7A;N,]S;3M9?1(SK\GE\,74.. M[>.ART]0J1^]:K6"8C3L:WAN<2H,"7:>R5*S4DZ(LZXY^YL\&YS>ZCU(,%EIQH4?*= MHMMIDF(%+6=Y$W,BV#8@4T6F[-JRTM'X'J#S92U)(W; M@72#SO+Z6&H@@-H8-_5G8*#KRDZ(A#^=]JLNCB=V/?S==-YVU@ZN/Q"&3*+8 MEBM!TOB4N&]T*JXNM=-)35T44W/,4)8&XBZY/<*N>*Q+RO">U,)9$._$H Y& MN(#CSC-EQ%:U$S_9^.?2373FUE9^V"ED(GR0)PP65&@5 2ES3\F8Y;Y'F_;P M6%T<$2UX<1[U%=N*SWNA(7WXMT%2:WKCGG/K4Q7<$1ANE#DS2B5B8A!ILI6% MRH5LQ,>V/O8Y5_>@E.T I7RS!Z7L02D?KCV:BA%[O)HZ:L5MK- M4?F\U9O#GPZ#=^U+Y^N]Z^@<&$Y_Z:B\30Q9)61CWM=WVZ^3#)(9Y]X7#A5_ M-,&*8]:D>IQ(#VW$FTB=X.H?1S@'BRJ(QL9GP<;Y^7U.@32TPOSNY\&V\2QT MPU.IG;2[S+@ ]KY03]1'9IS.S[E4RCE/PG16O,5Z*(:_2O'YX1<77[().4'7 MK>[Z%Y=4%4".GL-10OL>(**2W(F .B(H!^6A;\C1BGH#.O '*1-G52B;H_E7 MX1[*0HL:-XQ&"2:!!;=6)F7J-? M/'/.0IDAV^U> \SR 3/DP)J*GRV=$G-JG/:1G0E$HAGWAH M:.F1J71#J!N@.U+6Q*)_TJ$.:"":<,'6,'Z+_T;*KUYP'9RY'=%DE;USC_R% M9]UNBW<"/.(=4V,ATIJ?U+,O*9RQRQ7,YX1 JB?H / )&I9R/US("$Q7PI? MNR)%B9TXJUATA2FAY,U/@E(YF+EI- MBE9 2-'*4HIILW[8)M%+9(O$9J@'HT V9.Z1$4/H*$5;T(HSW-IK>6LC+$E> MX,L9=26U[F;T2N6A/9=71*#-D\30&.7>8+;_GQ5!Z(UJE[/J!N@='G^Z@7E7 M\+KRH+*+)F0(8YYX6ZG;N ;7VH]K:ERG:[%)NP\U]T//@"TLW;MG;@E!*R__ M1UUEP>V0BKF_8Z9]P1]#3HBY/#/R7/ MA]Z8ESW);*)^G,WTG^W,VU"IIW:-J5C* >9I.Q4%N_H>B^A9YB0@B!J"VV 7 MI^XHH5,)1@9'4."GR^?);9&18:R7XYMV#.8(9S'G9288!K";CNOEO%2+M]:> M *B9S\MZ-6Q#UEL-I)6%9,;]DX84&1!O-51.-7-"9<>?E0"-$8$,]WP( ]X<>A1_<^KSX@ M_;??O,$#+UI/!>@F@P-I%$85IBHJ^^9>!Z'YJ[>R>6 M@85NG&,YM6*@$,IVLL2 ]'J;^\8CL@HY/"4&FW0"/0-/Q:+7GX4OSX>4-@@H M1+H^6-YLU^/=+#8 .U7TA'\6KML2JMJ< P*68U#0\33H\ M6!6^$,I,?41:6C&,,.E2SXYRV!D"-DQJD-?QZY27U;N"!\9D96[>76HB706< MNS_V?TXS34"@@NE M>-BV8:SI*C0U!&.L( A+M4Z2Z!" [#OMS0;Z#TVT;N5 M]]%4"0XE0ZXB=!>Z_'1MQ#[89O3]>\4BVI[/(TG&Q8 ZQ=F)/ZG<0,=9TZRZ M5U9 _X:K&NTFD:H)=PA(??:4Y O>.<$+UT:)C9T%MJ. !\4M^M#=XD:9[FN+ M.V:P6-"DT\YS0M+AOZ<-PJ/Q*L 2Z)"P 19FD'C3H(LRZ3+L=+WLC.&!F,< MBQ A!Y2Z3BPNZAR+ M]A3EMJ5A .H?!HU+@@JB@B!F9NKH?.(H;T@O?!>UN%4E-E(-")%DP>6*7-T#W,)R8)Y.SO^JWX01;] MZY B^/K)SJ8(0MO$)25A:;J?ERM:%J]AYU&M$*Q5MZ_C(QHM/KJ[@A8!]>&5XAG:=&HA]F"EO0USDDQ6J(\6]C3(]\N"Q3. 5'63RKHOJ0&_N)49E,ZCF)!6N)\C*32CAI_1&G <2 M-M+H^OTWMNY%*167/\^7E1)A!P8O(=G2<@&]MR#-5D^L6&6\FX-UAP(X6'?$ MC75..>LYKY3J[+6Q MJ=(WB+#[K_R+;GH\;DCU]!J47*W+ IP)9(T,6J!/TJPN3;#EK%4+.1;MQQXO MJ#WY[@ I2(Z76??%*U1[^KQ-1LW:-#%P.^FC?@C.9CU$=@AR$^=HNNR3-E/S MUWOR4_JN,$,5RHH(;IKY6DK1YPQ#0&]R#?'FH@E[@HHR:-_,)Y:Y M0]KJV3OI$#T,.=]P^3A-J!7?+ATE.1M"-OW?7QTD#PZ/E'7EQ 6-!='CWJ+V M[1D:#TAO6 $2^B76D$4.R/WO?S\:^(KCP0>\.4Y_U%P!"-)V8-_MV6WF] M\E;-XU@:+GJAC/D#IBB;%Q,?P7-J@#4%_J\FC\*JH:QF)-3MV6B51\(N[?-H M76@9CK,E.:<%UJX-CU@(])*^&9]S:@?(K\D53E0Y9*&9@(6EQ->YY]I21AUL MRZI@<]O7X>:-(!93'YCS:9U5$B @BY#WT+;1P^CAS>H;[IPA$PMY,!WZ ?&+ MQIO.4Q3T28'1_,<4I#:@'6@L"MLZ=8XVO-_Y0E1-Z\+9>F0#-6'FB6W5;5]" M*!W5*Z(]"S8BIJ:E(QT* _9/?$@-D=ONW@%BPI]2N-G'47O(!KMHFI*BSF!$GWW4U6:9N26IF_>G)8M3+" M+MQIME/^\-[)2F,A-7%P(&#/C_)J?'.PJ.?<4;B-P>[8TZ.G\1\Q^ROC M\4S=S5*]=8D4)#.9Y:G"MI!E[1WY/"8=D*_M3O*,8Q^ZD.?9DUH":-Y$"N=1]^P'5F P_W'.F?ROUW U=^*5[V7O6%/"FKSU]R:]EG9_;*Y MML(]Z801+*+0/@G)^K7*X>,Y+\L5 %D@0"^ N9O$$.2-8,!K/F]*V M-PMK]NO3](ELUZ<[?HRA!]9&F6'+FA[9SA8):S_@G22-+7W9PB 9\;^G_) > M3(!KNE=.=+F$]BMIL4%$#=LBJK]Z4AM:P2)8SR>MCL9J 5&(6->HJ:CT(?_NH&5Z+I6O/8>>A]*SVQG M?ZKDLT<[C!#>1+W_5\]#?0]F_?:#J/7_ *SZF]?*D;=3#W=W<7Q WFVP'?$3 M:7(S7.+>EONM$S[\&VG>N+\.M)W:K CZB!(F#9)PX.C!VY_1RY2\_!F'9U3J M':U\IVM$:L*%4= 9<*9%V=07J4725\(-3\>Z#HBZBO(%X< (>F$:421%$MPY MH])DM;J!WD):I\GNHN\0TVY1%>T-^&2:(:-LNSBZEGFG\]Q*0T^K1*CH:='T M'01UPSJ\]1^_PAX$MZ$F?/1@7Q3>%X4_ MF(NO*_6!?)(YG\EZ=<4^?B-I#R(%SKW$ZEZWHZ/;H7(WD51'7R)4ZW'>T:E#L0K@:1(6>Y23(IIC90XPC>NXI?3* ML_ ZA\#$@C,>GONI-0!5RA:9XPG-Z!R$'O$Q13@_0<;)V<5,)0POP.4]AL"F MP$VZQ3>"N&<3$GI-9>-6E$'@0WEW.XT^++AY7E0NZB5^X3/3>'(\(GC:N2?X MO+3,G3_DA "9WQ3CY)@Z>-: #EXS56^;Y\FK>I$G1U][ 9@ .B$8G@X S 1\ M&S%7F,H:0-3DEYZT0C[Y^4((H927"3)%BP2J;S(U*4!+4MB&]A-MKT/6$ OCR]^ M.KTZ>_5#FEP>OSB]3(Y?/4M.WEQ>G;\\O4@NW[Q^?7YQI4O$+(^?*S8P*!$XZZR*5W/*2LRR80R#KNU\VC0M0;A:RKU4 MS"3F%!?;0C!@@5YPU1^:Y-1PSG21]4PDZ A9 F+]SF]Z.V_P6]Q.,ZYK,M=4 M0E5RRAZ)O39+>*P.!/@XP[G(IE,NHX(:I9@SVP*%T*0!?E/?];%"_IE%%D"> MG*%J32O]5O*IZ+3T.S R=+:U<^**HU.!'14:Z-0=;#4P7TK.+K?@'TYY,MB% M&N<-R@_F%:][J5$+&DZJX>$/#8Q<,D%VU M-1*N:@)R)E'3(.*]2Y=?UHM#O M2;UL)=P_4H1<0YLOW!CP1@/=J' ;A7F3*2T\.@\9E\ZZ"94:Y_GF,^)1H'*D M5VRPZA*!AAHCN,K?9?',N]?'9BWLG=X>H5_V9UOW2MU?.UA_[WLP45S@M>H- M[D^843'],*5,/O/ZIBB+^9R@:Y'-Y7FXNJ'J;C4Q#]%OJGOO8DKN;FJ6,PBD&H:UC2!7K.9\69P M>PJ8HG$=6JO3B879Y0U/QE/$VDKR-)O&:$_&?,(_AF%FW/+02J2-^&,V&RV; MZ\ LK7H@&.JQKM-- TVB,9+VXSL%[3KGF^,D7R']X+=LK2:D2R!>VKDLI@)Q M(G^Q]\Q(+\1+)+C_N[?;R'^\3V< N9(AZ (PNDMA;M 9Z5H*N8#64N?0&]HK=A$=)I:#0]=)<'SHN^>B7#VUC%.>]+*$DX9168+L-89T=?W#[-WL(2=U<9Y40L+#O M&9_ZX50SYWXP%(,W'7 $[$^"J[& "!+'S MH@0Q@E'$S^I+E$_J6IWWNE7I&K?R0Z8.+!=!9B,WG(IV/&Z4Q% @N1%6Y!%K M"<0:QB#U3'W!M85+^MQGW"/T'J!#WX!TRPTPLZ$BX07:!^BH@P, ()9]1^2? M:L.NE3@)*?2@\EXID[7G? XB&!9M8U%5&]!403L%YYS/0:UU,?R"Z:ZVSI+I MK=).1"^'V+K+:::?_SR&/"I_=8O&.CU2J"LN+% M,QF(=^3C-3J-4H#8#9Q" GDNQ9$H1A +.&E'\10$\U""\OB7U]*-]/7U?3_\(0CXD M(=7D]8\HS6!I@&(-RZ6[\.+D^.+4:[:JC%0'M-R:D\XR(JHR(WH&;KWK!4@R M"5<2[5!>W3!;^!V=;M5"T9R0#U<($ 7;<3>=%RM-?8P:N80^%DJ#O3<"DOJX M>O@=)L<3VV26&3Z+R- 755<\51H&4>Y8':B/XFFR.-OBIFL'L_JQHV34,X(3 M,W8Q4Y.9LKWSA :J]L!Y^-B#\[$#KJ_H=*A2,'X5M^K9HS;BH^FNCD5';21< M.ANS6Q;.7 3;C(F#.O&!L^2SX.*F+A2Z6W\PIQL=J-@)WX4C?*LJMUJDO=Q8 MG8W>'AHI=&$&[WIC076PBNJ!0FL+J7:^:Z''BMM!ADLSTJEA;DH:T]S[W]&X M<9]62@N*LV#-(UN/5QD4(7AAGIJD'J.Q4%_]+Y,<$[V9=>R_Y-IGS?C&"'*G MO;Q;-Q-GM'T\<17M+BY@F>Y18Z?T^S$?W7FOUSAZ;=2!39GWDNO,IM'1LV[Y M/IJO.G8JZIC(2N)*$K.QMIUY81NAQ0(2CPC@O.C/['4Z]Z2=>XW/?;Y84SPR MM7WW?O]% 9E6-W 4^MLG!Z]KM_<)P^A^#I]$7%5TAN:5.@L3 M,*(7TY4RD_OQ45D!NX,@&\SGS^@LN!T^6T+>0EMX+I?N^5U",8A+X%/T/5;N&GA=.Y-,5WP.TBR MR2T<%7!FV$JZ7'YATF^I=[EH3(NN!K:+-^^8NY#HX]&2B,$26(H.(%5GBA=/ M;_Q@YLF8?E=+I8B"6ZYWL7W3KQ,,9%E.?&\"M1TP<2_K??,.U?8' A79KV:0 M)<)7=="I 0'ZULN$CSCBF\>XO4+>[IG/#T+;O7KS_/CDZLW%V:L? +4CA-V+ M?^ZL OUB\!B!IR$.1L>[,5**(N5(-$[3X&,:B+H6!8('E115% Y]T='D[>BG MJ_CCEZF71+>JO=U "HXFCR/W#D3D-C'_R5H!;<]"92L)G E@!R5X/@JL8^ " M K88S$V(!>[2M\YRQXEM?*4KO".5_":\$'-!,Y]/(%4 MI4.Z]^I&T8G=7RK]F'DH?F@FU)^0=^>Y#PZ3R^4(DB%B<0@II\=F>'^40HF% M SR\5*K]3?M=XH)+.J52#];:^$A<.:!80RXIV'5_0<0U'J::3)<-9D!ASE^G MB5#KOO3<:9^WR3/^@6+BCIV7NW(KFYXJX+=/O.4$DVPPG>=^1PA7[V%R+$ZU MT,,0UPG V>Y_PY.:YR*&]A'S:=R NIB>9Y5,EO@9IGR2SU"8I8$R!,W$70[U@QJ@[/""[PB:."Y)NZ]5FWHS^_;PT.?.O,].%RSUA?GK3 3)Y%8PBJ" M0](*?'GVHFMGL6-?79Z%WT>.^JEI/Q@X;%A:F*[!!TQT5K7)V>5Y\NV#!T=_ M??C@Z EVKKLSX=_)1)O#2I$^,9=Y$)VIA!Q.6=]"'"N)@)7DU>B&BJ>8X/.Q-Z/0;%"HO8_JIE%%*'L=NXBE$ 'LD?4./C0H3^.ZDD1 M4MOF13SX9O>V\GEW=80953A,H(P-&(>38UC(LZOC"UZQ=#?#,JAH 5_AR(/\ M@+'*FN> 2_0L)].@?W[&>2U><%BBA)#T@RM:._Y\XL98S\H:XGK;+: MIIO'Z'\_/)8(UO !_*JO?CA[=7KJ/>O7%^?/WIQ<)<]._W'ZXOSUR]-70WTL M]-SMDFF$.$T(%1&:$2/9I(66F*&/6]8CK%TH!N#L0R;;64/-6TEG($77L]?8Z2*,@UYNB5Z2JK:Q7]* )-ZKRA?%%S$'_:XW886@-T$\G@0EYDF MWSP.U2;Z+Y!V=M)LAN?,IMRZLBHWHLC#?@1W9KW_*O2W?^60HG%G.@-@4-P8 MBY-!RK)N>5W[@Z2H#ISKTPKD"$_6Y+!0Q!WD5@:$@X)#?)]!4*#AO"UTKZ"1 M$5#Y9<]3!GGBRHVO9>LMW[VNS%LD2EB"CF%M^,UH0G58S-$J[! F[9+Q"'[* M)$\D&R+"JN_@![43SPK5D:_<7=&ND1568:U_5)Y5[*3NC?6 MBW1 4SZPZWRWQR,4!([$(.WA'/>##77!&X@S=6+7KJ38=/DQFI"$JL[_[P1/^0FJY)4 +?[S#>.8?Y M0_B]CJ^<:\>-R^=7/YY>D.?W^N+LU'G-_TPNSG[X\>IR5_.K/_,Y5:F,VT)S M\P$C08G":5%RQ7PARS&F(F%:$!N&Y&;=T! D,YC4)LCU;214L0O=V^I=Z1E M"XADNQ>P9*_%^20+*HFWR6U6$B<"O;H[R74LLK>YSWC/P76%CTE=BC[3CZ9+ MRABD228Y) KP\URHNMT;IER.>?7JH?&].;E:M.'+*@<"F020R%9UJ+NG(>N* MA<1Z67IG"%^IQ&2>4;52G-2%)&IP/PUJ<"LQO-FH)8"%]H;UWU*X"*ROI#UO MER75EX7^P41+W$JYH,!!Q+KF"#I(]XG>2'3F!+P#I="?Q_P5UB&1J,IA^5$:L3:=C$P\M_N6LLN+0#=^!<\ U1A*&5+R00WPI(2 M2Z+L=PMKUK :(>'@BI[-BA\CN ^=0YP+1 ,6;"M67R\J_17"D+4)M1L";3]Z MP+&$)%>MH;K))G0LTOZF-VL^CSTP7DON&ZH_R7"?/IYDQ?FHZ$;YNSF$$1?^ MUR)\D+OGJ:3'R@WYL:21%C(:Q? \?/#H6P]R"B O.UC":A7N;)?YR,(37Z=8R[X;>D.- M7TKQ9*=C6C #@?F@1^Y,Z$ 6CN(M/LR+OHN/*S 0,8T1-QJVF32PI=*9IG$*W*AVZWH!LC:*521+ZYT M>Y0'U1_DI%",1/=J+IRVN!NH^TK0[Q*NKX3YF4)W/+P]LE0W>3;1IU%(-[/S MM[[8,\J%N2UH6?"E15 A8$;.#'5ND\\4MZ#3JB6G-C>^GW]F=O*7G/H&6$\< M?.>_;VXX=$_4DKQQF0Y-<;HYG3WN4A^$]#V])),65_@VUU M4V,GQ^\[UGN$ M1W9I*G+> MH[:/U!4#VL40;*1EH!,$E=.'KTH\]#F84N&.3**:,ZIT5LYHC[ M@]IUSK$?->8^->K*!<4]=%R5UKUA4$EJWC+WO*3QJ2GO/O6_M+G[#/1_92$5 MO#X0'#!*W^[2F0MMVH[PH?1H>L3:1S3,-6))W.*3QNA4!C)?,F\3'3_:M$6+ M(<):A3Z!.)#)2T^JV*U*\MK(B=Y:,X9);/BT,7WGCICS"$)H-XE0=&F9*$X: M'Q-V%WTK)W4SKU4TZK2=UO#X\/W;]>GY[X?S#WTMMLE=GQ?FIKG'MIVF&]U^=7ERHG21V?JL)Z^=K- M4>!7 !G(Z[/H+;YG_O*(JF9L9@AJ]3 #6S\&S59WA*R*-HDI=*C#R,7@*JAYCW6ILE8B2^3WZ(]+BOM^ M^LM_/7SXS7=N?+7GM HP6#3,_YM1RE9S0E/SH@B%T5$1C^C$KW#/]0$=Y_ '/1O*< M- H:'B6P7OU'.IV3_U$[8^)>PIY(84LJ[X_VE?=/HO+^&YXR]Q4H $R18PG8 MY]ADO'9NZ,'Y35%[B^2.@N?/Y!?D&<=VJ%G.YE-G>W,(%)"Q@GF%(MBTS-\E MKQ%-7G7[J4Y.SXZ3R_DQ&].)D/VW$=E_ ;+_L2?[#W"[0'4O?C7HB5@=E F' M$!J$-@.HLD;H.ZZ) 5)KCRWI[1 ]\"=_3MJ;C/NY@'>3YCD)VG?.C_F =-#W MQR<_O3C_82 5M+Z3B.R-6P,,%)L60*-*]QO:HDL#_J)/2:A= 1A()A N M$W/[V>.GA]\$<$;_G@]Y:>D]I44)R1+M1M&;:Q&=,YAC:ED O'H(G^(S0/D[ MM'HBHX!(6+.A+H9%"4'O3,C>? M@#JKQ3 )CXI$D_E<\HC^]M#%49(8!^8Q-"*YW_FE5$GE64O/7PM%I/0RG?-Z)N/YO3R3=")] MRJ;J].7K%^?_/#T=HM]87S-R*^C1H\=_&Y$:VNCOH=SWQ:.'CZPAH)SOLBP/ M:+E]:=?ZT9/' D0>;)I,G1?X0"]?5+UFOY(F],D#[KJ:D3+90D.1M0UX M;W/+DPP^1^<)DEUXRX;7#],GO?[X@Q2W-15(>XL&4R+_=[TD@4]?7]T M^R=]IA\_>X;ZSO&+Y.S5\_.+E\=KJCUT@AQ7%565127&V:GG)*5W].#@IS3Y MWV5&IX-;;?QQ:S__7W8 Q97J?N$;^CVH:MR\3#B?RA6Z%@NO]AVXT'PO2G4( MR&I>GI[06=HN!5=R*3BEHT=?9%_2.7GTY(O)E^K-73+Q"[FDIXK:/^;#X>C; M1X_108I1N%M\(1;6?E%,ZY=IISF2Q&QQ<-Z(7'V?)O&+N[N[PP*9O$/GUWQ) MMVIK@"FP%6S*9VWY'AXR@WL>51+4H_%$>^DQ3 WQ:C>K+B./=O"Q_AWU+'GIM5C3.=C?0Y@[\M)IT[ M/'F,87]LO-L-=]_[?MQ9)7"W0YQ9>%-_^VHQ63M"HF7ZC4=X<7;Y4T*\#><7 MET.C=/_5_/W_X]2!GP3WGS39NV7W(694EV5]AW,/_?(S'\EJ*1"6M,/"82"2ZKK^ !K$2_'V=4ARPNRH+M:4C8>Y'DB)E &Q M._@TH/&PRT$.&!KK5W4SR!O#T]XN:7J]?@T7CSU=\*(>OY4O$O;8G112_=2( MGSY*K\^3\S45R?/*_;\XNX8NA6>*'B_.?KWY, M+J\NW+=^^&?BFR1&N]2P.8"GZ-/7:1'*]QL5HIS MJC:/@.0$6YX4[CS/Q5BR_V1TH [TV_[G(G(%X2C:X^8IO=UA]![W?.>\CT9Q M9,LA8.G[RL'.Q0_7>D(R#J6$^2J\M#3N,K'%>>][\ZU1QVM6ZL=IAK1'%8;7 MIK,ZHX:'B+2,[1O!")6IA6G%+! [*5G0)_";4;ZXNEY01S.3E>GE !!L;HDT M0Q @$OBAF0&7%KI\Z8ZUN@#F]>IRR=^Y6$'Z#.QT^!>I0Y7%%"\B63E),?WK MWHD==&)UV!NW3K[_];ON\W)XM$W=@Y8YBP?'=;R/[C=]] MR. D[R?VMYU8@67#RR/'JD!EGS#.-YKT;UO36D%>]QRE,\%O:^YY!8]P/['; M,K&\8^F $T;>L'WKY6)4"'>NA0DCJZ7P9H]X_<[]>#^K6S6K.I&AK8P@[Z70 MQ?1\.,DQ?XHYB9^%NG#[W&>M$])GW486"?%][5"R$P,1,8.(MX!*=0^\6@.\ M>KP'7NV!5Q^1DCA?%_@5U6U=DL1@L D;1K7[Q9K^%B:?B9V)*!OK=]8+<5BX.:&NF8[Z8+5?"E MD^1$MC%*9DA%Y]PKANF MQ,@Y5+F+@+*F0A<(,;!S)AD49OL)WZ8)9Q)FGG1F#I@+>#:OW[YC$KUS3=%,*2>$3;5N/"YARI&:)GV$5 M*HC7.1%JSUV8I\5$"P8F:3PJ/2JYMY%NQB*[R0AT2T*BJ'$2YEM]A!#])*0# M<%US2ZA77]15R44#DT\3F/F\*6J+P66X2_?7(V@W&V8LOJTR0XB@4H-6&[.4 MH8T4GIQ%)MMP^9BC@Z:NR!HE4Q\UG# ;UV[0]![V.V%+=D)D =G)05.$FWP2 M^\R$Z,706QL:*O2N5YP8)=+YF+D#_!Z"Q*:I;R8';_,^2\P4@D2W[<1D,E1&64>*2E*.4_3BN=T@]A#1Q1O]BBB./O,0! MP(W4;0P,]O7<0.,96F']M\ TYJP&]_+(@O+MD]9EYTX7NA\+E%.=8%*4BMSS MTJ.X+O$/"H.6\U=RW]]BW_N<^O'0 4XO>Y)S+VK\8.#9I%KV)!\M/FBP)?46 M-:T85L.5>D=ZKZRE0G4GYVGSRX%4-=J@LI7".I%HP*VY9QX1"S%55B"/JRW[ M&Y912HIM%)*H)"&:_.D%-(4L(+,BM/_6 XV0QG*+"KI6=6/QH\/XVYTK8#%" M&;LO,%+[=] EEI4\'W_*"C*\;NA/+)W3AT)@/J5-HFA8(ZY8AV6656'P8K(W M67>3B-,,;)?[V_6WRS;M1H'*O@T "R/Z^TB*P^1X$G3 4^H'I^>\R]<\S+J[ MJ$51[2JE;F"^!EW$!A#"@C"CA? Q([;N C),,37JL6YWM*#:-SGK<,I^&M E MF:])>=5H0%Y6G,TRIN,]Z[@>H6G7SKUMX VKMS-V@CHF9[ M%8_%JF<61X4\KEOV=WIZ=M>^/T8'U[Y0-0PO_UB%:F)TF<;U;5,V1AZ(V(VI?"#I2.-S;O:_Q9R"A9W9+^ H6+G-H=$T"/$Z^O)5< M\%.&Q3!NEG$.48__EG5D]1^R$)C,]5H9SDF A$,!3^@)N 8VA_,O2$:MO5&N MVVSR+Q<#V@[O^US/]AI:X$SLUI)6;L:,IL(>@LGC:]A=T=MGP>^DLT*B5S>A M+=C5H9+(JMVX(.MJR)G]R'7*3>'%0F*5]TU^T89E1 :Y-8WBL.YT M5BAM/VAVU!2FV.>C)B<1KCE.CLK\\ M.7Z6?/;D\(&GYM+SSAG9 P(SZ!)$=$,\74;AX.%37H^#(Z%@?@3F+*;1RNA* M8R\@N0 4$Y+%M-AY5?E?"T][7L$Y*FY%WU)H1UN2(G"/U?,EC,=$;."S>?+29 .V1DMR!HXCT+?1E$*A>#<(FB;R'=.C[*_7L'R2' M[V&6!"!+:8RV59H05K9E[7BZ'-74B18^,*LQBQ@8LWAJZF9@=B9+3Z5OU,'! M)Z0L8L93A?AM1-XFR\'/B[X7=7GMPEJGV7M/ ZU*&%D)/]L=83EK=F VCPS5 MG7!+D9S'HO6'T,3. /J]W/\C9((;ETDQ]=VJP0OTCS#CM,E>\Q;F0\X6+Y. M.0D'"+,.[#LAMJ03XLF^$V+?"?'QD6VW0=X(&S"6V?(-(*_><_GN3SOC^51V M,NHZAIM5*)M"!R'L&09:$1 5&5WN4I/\59Q4,%@?ELHSTV!)[\":RY(:F#B0 M>JH9I_,!I#+LO?AV%CWZY9HX*B1D&JXLJ.)+3_2[7T4RMQ'L2-O]NP6=M,J; M3Z4+?_;2ST"_5K<+J0C9A-<")((2<"%?"5T/L.F8^_A2M2>V 5DB\LVL5VZH M$I]G14DOOML$:G;"O':^#VV6-7/!F^%^K8=F.^S85K@*W*X$NA-54O!6-DX@SOH6I%")K"5(] M_3+<&%6NPKH(OJ8=EW/*RL4- AN?]6 -']H)45LK0CY1D[:#M/IRG'?M[9] MW[2PA-9"+;4*&CKQ':&/.D$)3S8P$*WF#0>F*HML[>8U(LH7Y]:V\5,K\U9V M)R3:E >A9X)6@;FPY+'MK20_N:Q(<;AB<23*\(!ID$I.<#E]_<(9'M88'8L, M>71!I([ ?"C7^Z-N'>,#D&-=3%>#N^EIY[36Y1_K#T5-*IUN$]^KLJZ)22]I MD?!V6UHP?(>K:>?.\:>FL5'?2T9V@J-UCGP9)V&/!S,#U0J1**-V^1CG\<>( M 5-$U>=@IWBMMB>3<)MU,J(YL?!P$Y[59).U:5(%\4"5\&I+ ^!F=[ M)-J?H8)T0U)V[F2V6.A]5^9'P]%DH>WA:$R1+@7AEYRT5:CH==1U@>9%O 3Q\/ZMF1VLS0*P\@:"O'V&$\_831(,_/M*Z;X"0 M=7HMV&L/R5 !IX (<.I<^#8UOKJ495)!8GMLB\/WZW8IZB_@C*D@4-E,'.A1B%TL"U]C:<^E>6VK/ ?19($D&^O&HE MCXC.#G'R-%=H&S#V*V,K5@:KU;1*Y.U.AYHUF9I\6B(Q?8,B558TFH#VI[H[ M9[+JNN!&\;;3^GY=UQ-*,N_=M:V9:_4+N$8FM:C10N-DK>2,< ])"Q],LAP2W+0P@A82<+YM13___Y0,_)(X)A>>U&6IG?F;KNA>'G]BVS7%#BC2@&/A@:$[AEBKM$(DPX )E\ )>!''.;NN& MP0V^ D@-5&7Y1ZT<_4<%2UX>7_QT>G6YX[HD1 +*@$0TTG4T4\>K,<$/&>HW M%:CLK)"\I"_'$,:YM96U$,#1$E;T<]2&4:Z,Y-8NO=3CJ-D$U" A(^A/#F[U M:Y/E7%JRAGM1IWC?4F3G<%=RQ#FA<$^&?L1SUUJR)KX;;C8,:+%*T( L&9O. MDRU:M3@ZHS&U1B;)ZJEHQP4I]ATF5ZLYB_NEFYZ(QK"@8N/@VQ!UA MD_J.3F)G54_J2A(,F^^TN0D8H-KXP<4LMX(!G7@4.WD$M8J[Y%Z+DXFVYM&I MPBA<-Z1I<;UL/$N7K]A,LU$#;5V8Z['^DDNO]6Q60Y/7U@*T\TC&RDJ.K<=F M, D%^S:8HJQ=B)PI823*XBUE8CQ8A/H$_8]B!%9J=[+M8^AM^3T<=DO@L$_W M<-@]'/:7:96I"7)*2.67!P '[9%P2=\Y47:?DOMIH5N]1\&(S='I'ZM.&%0:FT-H_[3;8 MZ"-MCY/3,Q1K[(K>)Y$;V17:A0?]S*U3"L[3N;7K06=4_8W^C-G$"L[6Y:*> MU13;I>[LG5+D]566-S6ESW/Z\F1)X-BL)&;!J;O4&+A@+8LCZEL%];-G[#50 M6PN^04U J5F"9M6M'R,W''WVY.O#IZ$_R5WLL\??'#X.+4X"> 08+14\;M 5 M?_SUG_&WQP__[).';B'5);@X)P' 9"]S"&7JZ]IY**QLY_?5!SZ",],JW$G3 M0I!"*5@*X:OHQ\5S*'< =(Z]2B,MY]R,EL&C37 QG+FEK(N[D1LR6K&\?CK8 M#P*0VT AT)!&_A,32^J#Y=,IQ+'5#)EA^/EE_R>B4N#HFU<5B<1C 8C!B5 5 M;J=/IYSI,50C9HBTNNF+:YY?R74,&-OZ4H+N"/M! G1JDF)EJYS]V*@S+WH^ M8;94:PAH+_OIQ*Y-2H07B;GKT\O MCDG+==?S(V?BK2A_GRYV[&&_/R@55Q805[9YYI29D*8E2Q\T*U:E1X1I[80W MZ;%JVZJO%$>4D]]4M+Q M0G?D=X.6JX7F64P_L,"J#Y.?;XJ2_?&A=^1\_EF@&6ERRJ<(B0J_+'XH'!G0 M+:>7K;Q_%;JKN'=83Q$ZCURP6(5:J7\Z4".8'3!"MH&;M6103!56<,$._TL3 M!XZ4*4XQ3%B7X:WWNGO%@V*3)7=V\]5KBC>D@06"=S,AIF9>Y62Q(&Y5X4 E3X*Q0 M]X>Y)A,&R!*!9'V[./#=$$S"@;/55&+"/>#0TINA"(CJ$K-9(2W6!-?7WB)Z M5>][368IM\[2M=/0S,[A8#]2-&:+2;/<4QQ0@;W V#L_3^]AV]*H13"?NYA2 MZB6HPH";.X\"24ITL7X\N2E9R:6BP3+.AW2P;:*E'*P#Q:QSPYQRSG1M/@=@ M+RI//M#@C4X;,G3&LZ5?3:>MN)_!MC&SS3A7-\R_2B0E:2-&BX><[J)?GLMX MAM39BU@GAWCK=NP< W: B;!AJ$U>W5%;U1 MD7$[CO?_4*JA@:&K0,=3+]LU9.U$;T'F4?(!OI\6'9=3$TLQ.EMJ78:1,I4S M>$1HB9=]$3]M!R8]7(QK# MPOEA:,-F[;*V6BCUY!<_5E_?,FX*#]!3IPA0H2'X4:'5^ &]8J<6G?#TG3CNF< F6-- ML*AE@_RI$OPB\J;[TI%#,XM^U;K/$=A-3[B]V2ZDVUFD%E3T,+]>NO'5;GXR MZO,MM+CEN07(=<=:;I3Y92E\G/XKJ3<97:V&63XI,I&T,@X-'BB43V?+EO]9 MKMC[1OJ@E,,- 8%,@/K8.@G.*[?O"#2E3;T@&^]&@Y.5<2EP\,1$:?56>_U] M#W3GCVZ,LH!,S(M&/I"Z8]P+3Y-I3A#K,M7HDMY//:;2_,?,0;K+_FS43LC%W[@!T?UR"TZU)G-6" *)GG(H.<'4TJ/_XI$-8RW9@<'V! M3L(N4R;/U5MX-@WB'%;64-[HB)E\:J"3A1I2+]?EBF\'$VB8R:+I&1PO%S&F M@5+DHZ^D3:_DD44FNQN,C)WK!#=EW!0N?"9^89:A:D*T!]@&G?)C)D@12D_K M?YCSQWWY7^Z/"-\DK,VK?]5"H-(H=B7NO*4/>)SL%[HYX/!\YCP >J]T,[>. MRM)HMI6E2&C5S/Q"OQ>*C$8/K5)'NWN!U,_YFA4:!_#B1H$ZP]#EQ&L(6_-> M]L+Y)* P])4D#@/7LCKE$?2\?4 M4]CC :\5?!=O2LHR>HN:HPK\IH,0*',7K%QV4ROCOOIBD+@J;O@Q]4)$L](4 MK683AC%H9&IK))?@F.>WY+&YJ56Z%)\RP8M"1C*[OJ:$.NVGP7W<;3D;4"?O M,+>&--V@R^4^6@4WES@T\XE>SH4Q;%+NER\:R@7]AIML#Z*Z'XCJZSV(ZI, M4?TG 4&25 '%&>50U&!4SUHH @9E8C7[@,>H8.:V5MU.M^94J46L0#B_8HO\G*:0S-80%8(-0"99RO MY]I+X:G;!;D)\YM5*P59BF4]R]PRP.8'+Z%5F+$\RDBXH/E?6DKQ^(.)J3&W MN84'9"T>?=FV'(&^)G6!L[/4>;MN(W][[,DOCZN*2F$7F&)Z!\_=,G+KZ^ G M*??T)X/@7URH @DY6R&),0VOW7]F:3'"ATRG7UN'R4O#JBD)=+(E+-T94/!E M5E6BJ9"JQABG"M6*II%551P:U<(GDP9D#[8 [-_(:+EX7YZ4\^%Z1:6E#B1J MAVX*I@RA[5[G,Q=M7C'PT=B1A!35$?'*ZEZ M&%T-[A24SZ4.\P$K&2>QQ@V>!!1D%3BFF$#5:!D8UV!6M/ZHXPRSJ(]^3C.+ MK5K+KBIFP^>CCU-&.>(I1J&BBK]@PV(1!(P7^$07!V3";U+QAP3CY2T:&\A! MKZV#T5&GRK1K]GZ6?[B[A^- XV,J>" .72N6:9PJIKM/0SVS7<[ M0%M#(C/87LG_7F?-1 %%0(323I $GNP1*>#BWG;SRX&]]'>CT@OY&KZ4@VQV M2')ZG-'0C-:C4LJ(G^JFXW2;)Y%F QCVS> 4!!\^Q%."?K9\WHW^D=AT%//K M)I\@8-!R6[JW/X[4E8IFUJ$<%X+D0(Y,5?M1#CBXOSM80ZE6IO,^*"J(S+K M[*F?@?U5OXQM>=DDG-MQLW2#@_S\+15(KT.><#C=);I%]&4!OI4LG 9 MM5KMUF$^B$B2<@9R6 I-,;DKX0T/NF&AEV$V@RYC/7Y+0K"98 ?=!&;T<*R; MI[.B4GEI0 * @_=#P5;W%P;F.P6ZJ4]TVSUG_U'/NAAU3R)::)KXB)"P:./D M N[ [0NYKZ]/TH_9EVW<&-"P>^O^&'CNB413:!55(D8'4^5!TOT#TA-A'Y$9 M&-A(3 %-!^-X)5 -"B,6T0V'CLG4=-&MWT/!V'4/>7V+@]\&QXTIDQ!DL_6! ME8==]K\8RYYW3(X0 O"M\G?<9\QMS]IS[$5^ /0))$SHXJ,99K\EN3P],2K9 M!M^Q="96&3L&8)AJ4\T9L59JP:T0-XKQ>Z6:=W63_^R;". !Y M/4QED;UU6U0000*G"?*&M/SI&]V&\!"[6H"I]9KSX5,< RDYE3$81W^,BXSD M1U2B$7\.4=UM74P,M;X<\0,WYE*UD5[;Z+[[^,7IUU5A"!$$UUHUG'LQ>K#P1V2G'#(YOE!**.2 M[=J*A,#%:. M NS!>&:*L*"HFYV&+5N0#EZ3X/>&/(0!L9D..VI#'9>Y59M9B"EH67TQ-#"Z M>:?39W>A3V)G)+O'9DG(6$I"%5%YV[%744X03T;._E#ZBJ MR.W)E4$83'Y##MP@IM7F/J_&4-"KH3J=,G#9QRX@QVMND0 M*1]/4&?=DFI0]&,OL1&-44>-]E8R.Y&<^]JF"5Z>'_0&61O*\OZ&=;P!36 R M+D8@R>\IJU'"CJ(T*'=PP)]"F\3/0>J5C8 %*<8(,?#CEJ5>JQ4Y39B(!5T"75GFJR_-K(-J]5Y"5>Z>[(($#/K7:X M\'K*Z,+L0D<,&.3F!QG7.Z%.Z#7]^2:>V*UB%.]"9,:]!\Q#%P!.O\5>6Z:T M0_ 36%^FZ&Y7EGH UCK91G\#>QR0>PX.SR)[)RM%KZBW\H3O9GKHVQ$*"IN_ M70C:=]1\]?>$_W\?A:QTI=F[ )]_3R0UE/6C*BO"MI7YGW1];+EI%CX2X37JP>&=D)=K1,E(S4@C M1_)>M>^-MB-=,_SK_0^QVMC797WRWX4OZS?9@G2*@F92EKQ[/1FY%BS-R/T9 M./8(8+E0LK-5[XQ5)&0'*K)LVJ4PH'@QR5Y=PE+\,-C^W\O"W6VE,+^E#V]Q M+ PF%GPF@<]V\5?H1OYRV\/Q\ZO[K]WI@2/V\B_9;/[=5?)]5KW5:D\;S;'B MG1&C#:,]M503IW!JH7D)12CIF].ONV.7SE'O- O[C+"ZZH&-N+^572<#D0[D M$&5?"795APU[,B\S')N$)Y8,B*22TC#>:=%067NTZRKW0%JO MG*TO(R3K.TL 7L:=+\-4/KV/$C=^EOJC<>1YEP6Q,T=P.;YAZEIVZP5\S&W& MW!$H.RX2Y^LX]Y,FNP/M8Y)=T_H3XRJC/$S>X &X9[YHQLN9-&NDO(]DW^/L MCIU.P'0X7'J32Q?*J=L[$T0-OTBVGU6!6 M!<>S&YU@C<#&K2@E05U$D!9Y#=.A];AGF]P2H/0W>Z#T)P&4_D\$:W7)OAN* ML[Y*2R?'K:2D--5.F5^;[J5.?P VQ+0RI1J.)43M6DOT/;UK2VJ4[40:W&!A M6N?-+]DPTA@]IFNZ).YF.E!W,W7Y6\T)M40K_^=\W"@KX<7?Y*5F, MVG5MR J#B,M&\7JM_>%HV?G\DC=7%BER=Z)JIA,RV70,&XXCC'!9X6W048ZQ M$K:F]Y%OOV&^!#L40?D*X30 MC-/6)CFK:_3^\*L_X/9]CKI\1H6VE#S*ER (.1*@?9IT&>*[^-P_#;ZZ%)Y*^GC+&G4J1C,#BEFU?S0\Y(=IDU!)-\/6Z MJ)CG=)P7*$_2.(EA9.0NR3L=7Z>T*7W1URV245-,KG-\3VJQ7$BA[C%P&*L.7!Z!D-L1=TWL,KE178D-?EI M#X>L5@$)V1KRB&#-*/Y6?@T.OOI9 MDHX^#<0@&0'AR6'$.LP(_>X[LPQTT$MA@3-XRII F7\Y;X>6@3L]M+5I74D, M)0=[*RH8RO;0!:9T7T,/YRY!" C_[QZ O%.UV.P3[-X*87]VBAR2,R*M;17" MPIC4]!9\8= MA9,;MTIVUHT4^0W#.<5;HR^:&EY&:EO!A)Y:A#Y28DZ1Q*WEB M>+.!FB5:2JTC)I[Y57.-3-(A!$9E.(VR2RTJL*ANBI'[G9>"$=:TE5U. MVM0_6O%*,/#++C-EAYJ*>59IG4GKJU]8M#3A<>W 32*\"%< M0PY1+IKYS)^\.@&K,5_GN,P*3OT1YPQ4*#7B*:\?0&S^ U%VF=*6H)COK6TJ,['H"* )-,#V-WS8VV\5$6#R>-IL?IH86(8KIA_ MQ'STIZ"S=O# 53K7ZQDQFE6"$HEA=4 33.DY9:RRZK+AZI4!_CJ]>4/D\M M)Z9@6QQ)ID%VS6DD*RG?JRCO=3E_Z<"NAL^ _%U.?5MVJ=,!L^1*GD!=E/C: M.LS"Q<=>102R"G29>_G=K9CZBTX552JUJ] _$$QQOVTQ1QN)#T[(SBT5*X=, M9,#4[>=[*^;[S!-*Q>Y0AY&A&KZA[QFAJCS0[I2;4^ M7_BFDYS*ZG31?RW=D3CA)?JE@'?2SDV)X6VA2K\>,$*^R7[9;?^RDQJ]KH'@ M+K+NXAS=PTP$S!!,Q J!3)I6$!&W4_0%WV@_Z5LVZ?"=*19GKNL*&YMG-J)A MI9[5O!\OV#.*HU+D>3WZ4%=.25V*I;3K.N]ES.K3BKGID WM5\E6K))G =E# M@5"3D6!*;TLG7PC(S/\YRO!_&7$73=QE&NZN&[SM?KUMQ7K[ M.+=8Y6FT94M;43C3M)_:K9C:EV0(O M!34U(/Y)ZMVQ34T2[7_N8Z!Y&>ALA M,P? Y7[NMV'N?\AK7XMR$0.*0"0NM[@C-CQO[I%]K7+0S/O:?XP@R%C7C3XX M75)4ZXZ(-R"ST-\C:KU!69AK+48O$/&ND*T$2F=Q@-NLLJ!P7][27AMFI-;O MS,A#5CBUUB77K#7W7YI0=?])B=O=JET>QVR4M!^I*-9A=P\U)BY*<(9]7)25Y)."E$> 3M:68:*&!Q$93@ML=)5:@D>8@9RFG'5:E[6U,HSMH5ZTY\NHO&F5T<6AJR% LTHQ;^7>1(K X4% M1]BSI=50BC0L?%V8:MGN)2P;='5I$B"(+1$=Q*@LVAMZ$V+&92R:",@LNDJ8 M59!W#-=;]\O QMC9+E1FU3'&#N( +P=(>PN%L,H7WG]SVX^B1?OPPF 3,E>D*X(8(#_C15I>0N MULGW3+M=)831%>$U/>F2T$8(R:7Q#?RHLB@39A1S=#@"0"UFP@I&9G_NG#YG MD7;3A3,0($WMC%=C4B90O!V(]/)9(1"T7SP]LA((F1)D#J'!E MA#@2?S8F$0L25.2C+ABM]27/&YUQTIW=SJC1 GKC&GCK !MI5?<4PN.@%29B M $8SGMJ3B3:J26[K